123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- using Ropin.Inspection.Model.Entities;
- using Ropin.Inspection.Model.SearchModel;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Repository.Interface;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Repository
- {
- public class TispSpotUserRepository : RepositoryBase<TISP_SpotUser, Guid>, ITispSpotUserRepository
- {
- public TispSpotUserRepository(InspectionDbContext dbContext) : base(dbContext)
- {
- }
- public Task<IEnumerable<TispSpotUserViewModel>> GetBySpotIdAsync(Guid spotId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("Id", spotId)};
- var contentlist = EntityFrameworkCoreExtensions.SqlQuery<TispSpotUserViewModel>(DbContext.Database, "SELECT A.*,B.C_Name AS C_UserName,C.C_Name AS C_SpotName FROM TISP_SpotUser A,TSYS_User B,TISP_Spot C WHERE A.C_UserCode = B.C_UserID AND A.C_SpotCode = C.C_Code AND A.C_SpotCode = @Id", parameters);
- return Task.FromResult(contentlist.AsEnumerable());
- }
- public Task<IEnumerable<TispUserStoreRouteSpotViewModel>> GetByUserIdAsync(Guid userId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("Id", userId) };
- string sql = @"SELECT A.*,B.C_Name AS C_UserName,C.C_Name AS C_SpotName ,D.C_Name AS StoreName,D.C_Code AS StoreCode
- FROM TISP_SpotUser A,TSYS_User B,TISP_Spot C , TPNT_Store D
- WHERE A.C_UserCode = B.C_UserID AND A.C_SpotCode = C.C_Code AND D.C_Code = C.C_StoreCode AND A.C_UserCode = @Id";
- var contentlist = EntityFrameworkCoreExtensions.SqlQuery<TispSpotUserViewModel>(DbContext.Database, sql, parameters);
- var q = from b in contentlist
- group b by b.StoreCode into g
- select new TispUserStoreRouteSpotViewModel
- {
- StoreCode = g.Key,
- StoreName = g.FirstOrDefault<TispSpotUserViewModel>().StoreName,
- SpotUserList = (from c in g select new SimSpot { C_SpotCode = c.C_SpotCode, C_SpotName = c.C_SpotName }).ToList<SimSpot>()
- };
- return Task.FromResult(q);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public Task<IEnumerable<TispSpotUserViewModel>> GetAsyncByPage(int pageSize, int pageIndex)
- {
- string sql = "SELECT A.*,B.C_Name AS C_UserName,C.C_Name AS C_SpotName FROM TISP_SpotUser A,TSYS_User B,TISP_Spot C WHERE A.C_UserCode = B.C_UserID AND A.C_SpotCode = C.C_Code";
- var contentlist = EntityFrameworkCoreExtensions.GetList<TispSpotUserViewModel>(DbContext.Database, sql,null,pageSize,pageIndex);
- return Task.FromResult(contentlist.AsEnumerable());
- }
- public Task<IEnumerable<TispSpotUsersViewModel>> GetGroupBySpotAsyncByPage(int pageSize, int pageIndex)
- {
- string sql = "SELECT C.C_UserID,C.C_Name AS C_UserName, B.C_Remark,A.C_Code AS C_SpotID,A.C_Name AS C_SpotName,A.C_Number,A.C_GPS,A.C_Position,A.C_QRCode From TISP_Spot A LEFT JOIN TISP_SpotUser B ON A.C_Code = B.C_SpotCode LEFT JOIN TSYS_User C on B.C_UserCode = C.C_UserID";
- var contentlist = EntityFrameworkCoreExtensions.GetList<TispSpotsUsersViewModel>(DbContext.Database, sql, null, pageSize, pageIndex);
- var q = from b in contentlist
- group b by b.C_SpotID into g
- select new TispSpotUsersViewModel
- {
- C_SpotID = g.Key,
- SpotUserList = (from c in g where c.C_UserID != Guid.Empty select new SpotUser { C_UserID = c.C_UserID, C_UserName = c.C_UserName, }).ToList<SpotUser>(),
- C_GPS = g.FirstOrDefault<TispSpotsUsersViewModel>().C_GPS,
- C_SpotName = g.FirstOrDefault<TispSpotsUsersViewModel>().C_SpotName,
- C_Number = g.FirstOrDefault<TispSpotsUsersViewModel>().C_Number,
- C_Position = g.FirstOrDefault<TispSpotsUsersViewModel>().C_Position,
- C_QRCode = g.FirstOrDefault<TispSpotsUsersViewModel>().C_QRCode,
- C_Remark = g.FirstOrDefault<TispSpotsUsersViewModel>().C_Remark
- };
- return Task.FromResult(q);
- }
- public Task<PageData<TispSpotUsersViewModel>> GetGroupBySpotAsyncByPage(TispSpotUserSearchModel searchViewModel)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] {
- new MySqlConnector.MySqlParameter("spotId", searchViewModel.SpotId),
- new MySqlConnector.MySqlParameter("userId", searchViewModel.UserId) };
- string sql = "SELECT C.C_UserID,C.C_Name AS C_UserName, B.C_Remark,A.C_Code AS C_SpotID,A.C_Name AS C_SpotName,A.C_Number,A.C_GPS,A.C_Position,A.C_QRCode From TISP_Spot A LEFT JOIN TISP_SpotUser B ON A.C_Code = B.C_SpotCode LEFT JOIN TSYS_User C on B.C_UserCode = C.C_UserID WHERE A.C_Status ='1' ";
-
-
-
-
-
-
-
-
- var contentlist = EntityFrameworkCoreExtensions.GetList<TispSpotsUsersViewModel>(DbContext.Database, sql, null);
- if (null == contentlist || contentlist.First() == null)
- {
- PageData<TispSpotUsersViewModel> contentlistDetail = null;
- return Task.FromResult(contentlistDetail);
- }
- if (!string.IsNullOrEmpty(searchViewModel.SpotId))
- {
- contentlist = contentlist.Where(x => x.C_SpotID.Equals(Guid.Parse(searchViewModel.SpotId)));
- }
- if (!string.IsNullOrEmpty(searchViewModel.UserId))
- {
- contentlist = contentlist.Where(x => x.C_UserID.Equals(Guid.Parse(searchViewModel.UserId)));
- }
- var q = from b in contentlist
- group b by b.C_SpotID into g
- select new TispSpotUsersViewModel
- {
- C_SpotID = g.Key,
- SpotUserList = (from c in g where c.C_UserID != Guid.Empty select new SpotUser { C_UserID = c.C_UserID, C_UserName = c.C_UserName, }).ToList<SpotUser>(),
- C_GPS = g.FirstOrDefault<TispSpotsUsersViewModel>().C_GPS,
- C_SpotName = g.FirstOrDefault<TispSpotsUsersViewModel>().C_SpotName,
- C_Number = g.FirstOrDefault<TispSpotsUsersViewModel>().C_Number,
- C_Position = g.FirstOrDefault<TispSpotsUsersViewModel>().C_Position,
- C_QRCode = g.FirstOrDefault<TispSpotsUsersViewModel>().C_QRCode,
- C_Remark = g.FirstOrDefault<TispSpotsUsersViewModel>().C_Remark
- };
- PageData<TispSpotUsersViewModel> pageData = new PageData<TispSpotUsersViewModel>
- {
- Totals = q.ToList().Count,
- Rows = searchViewModel.IsPagination ? q.Skip((searchViewModel.PageIndex - 1) * searchViewModel.PageSize).Take(searchViewModel.PageSize).ToList() : q.ToList()
- };
- return Task.FromResult(pageData);
-
- }
- public Task<int> DeleteBySpotIdAsync(Guid spotId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("Id", spotId) };
- int result = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, "DELETE from TISP_SpotUser WHERE C_SpotCode = @Id", parameters);
- return Task.FromResult(result);
- }
- public Task<int> DeleteByUserIdAsync(Guid userId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("Id", userId) };
- int result = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, "DELETE from TISP_SpotUser WHERE C_UserCode = @Id", parameters);
- return Task.FromResult(result);
- }
- public Task<int> GetBySpotIdAndUserIdAsync(Guid spotId, Guid userId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("spotId", spotId), new MySqlConnector.MySqlParameter("userId", userId) };
- string sql = "Select count(*) from TISP_SpotUser WHERE C_SpotCode = @spotId And C_UserCode = @userId";
-
-
-
- object result = EntityFrameworkCoreExtensions.SqlQuery(DbContext.Database, sql, parameters).Rows[0][0];
- return Task.FromResult(int.Parse(result.ToString()));
- }
- }
- }
|