public dynamic Get(int pageNo, int pageSize, string textSearch, string typeGift, string groupGift) { dynamic lstResults = new ExpandoObject(); textSearch = string.IsNullOrWhiteSpace(textSearch) ? "" : textSearch; SessionManager.DoWork(ss => { try { var lstUser = ss.Query <User>().ToList(); var lstGift = ss.QueryOver <Gift>() .Where(p => p.Name.IsLike(textSearch, MatchMode.Anywhere)).OrderBy(p => p.CreatedDate).Desc.List(); if (!string.IsNullOrEmpty(typeGift) && lstGift.Count > 0) { lstGift = lstGift.Where(p => p.GiftGroup.OptionGift.Name == typeGift).ToList(); } if (!string.IsNullOrEmpty(groupGift) && lstGift.Count > 0) { lstGift = lstGift.Where(p => p.GiftGroup.Name == groupGift).ToList(); } var giftIds = lstGift.Select(s => s.Id).Distinct().ToList(); var giftPromotions = ss.Query <GiftPromotion>().Where(p => giftIds.Contains(p.GiftId)).ToList(); var giftPromotionIds = giftPromotions.Select(s => s.GiftPromotionId).ToList(); var promotions = ss.Query <Promotion>().Where(p => giftPromotionIds.Contains(p.GiftPromotionId)).ToList(); lstResults.ListGiftOutput = lstGift.Skip((pageNo - 1) * pageSize).Take(pageSize) .Select(p => new { p.Id, p.Code, p.Name, GiftGroupId = p.GiftGroup.Id, GiftGroupCode = p.GiftGroup.Code, GiftGroupName = p.GiftGroup.Name, OptionGiftId = p.GiftGroup.OptionGift.Id, OptionGiftCode = p.GiftGroup.OptionGift.Code, OptionGiftName = p.GiftGroup.OptionGift.Name, UnitId = p.Unit.Id, UnitCode = p.Unit.Code, UnitName = p.Unit.Name, p.Price, IsEdit = !promotions.Any(a => giftPromotions.Where(w => w.GiftId == p.Id).Select(s => s.GiftPromotionId).ToList().Contains(a.GiftPromotionId)), CreatedBy = ContextProvider.GetFullName(lstUser, p.CreatedBy), CreatedDate = ContextProvider.GetConvertDatetime(p.CreatedDate), UpdatedBy = ContextProvider.GetFullName(lstUser, p.UpdatedBy), UpdatedDate = ContextProvider.GetConvertDatetime(p.UpdatedDate) }).ToList(); var total = lstGift.Count(); lstResults.TotalPage = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return(lstResults); }
public dynamic Get(int pageNo, int pageSize, string textSearch, int sltPermisionId, string dateSearch) { dynamic lstResults = new ExpandoObject(); textSearch = string.IsNullOrWhiteSpace(textSearch) ? "" : textSearch; dateSearch = string.IsNullOrWhiteSpace(dateSearch) ? "" : dateSearch; SessionManager.DoWork(ss => { try { var lstUser = ss.Query <User>().ToList(); var lstGG = ss.QueryOver <GiftGroup>() .Where(p => p.Name.IsLike(textSearch, MatchMode.Anywhere) || p.Code.IsLike(textSearch, MatchMode.Anywhere)).OrderBy(p => p.CreatedDate).Desc.List(); if (sltPermisionId != 0) { var userForPermision = lstUser.Where(w => w.PermisionId == sltPermisionId).Select(w => w.Id).ToList(); lstGG = lstGG.Where(w => userForPermision.Contains(w.CreatedBy.Value)).ToList(); } if (dateSearch != "") { DateTime oDate = Convert.ToDateTime(dateSearch); lstGG = lstGG.Where(w => oDate.ToString("yyyy-MM-dd") == w.CreatedDate.Value.ToString("yyyy-MM-dd")).ToList(); } lstResults.ListGiftGroupOutput = lstGG.Skip((pageNo - 1) * pageSize).Take(pageSize) .Select(p => new { p.Id, p.Code, p.Name, OptionGiftId = p.OptionGift.Id, OptionGiftCode = p.OptionGift.Code, OptionGiftName = p.OptionGift.Name, CreatedBy = ContextProvider.GetFullName(lstUser, p.CreatedBy), CreatedDate = ContextProvider.GetConvertDatetime(p.CreatedDate), UpdatedBy = ContextProvider.GetFullName(lstUser, p.UpdatedBy), UpdatedDate = ContextProvider.GetConvertDatetime(p.UpdatedDate), p.Status }).ToList(); var total = lstGG.Count(); lstResults.TotalPage = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return(lstResults); }
public dynamic Get(int pageNo, int pageSize, string textSearch) { dynamic lstResults = new ExpandoObject(); textSearch = string.IsNullOrWhiteSpace(textSearch) ? "" : textSearch; SessionManager.DoWork(ss => { try { var lstUser = ss.Query <User>().ToList(); var lstUnit = ss.QueryOver <Unit>() .Where(p => p.Name.IsLike(textSearch, MatchMode.Anywhere) || p.Code.IsLike(textSearch, MatchMode.Anywhere)).OrderBy(p => p.CreatedDate).Desc.List(); lstResults.ListUnitOutput = lstUnit.Skip((pageNo - 1) * pageSize).Take(pageSize) .Select(p => new { p.Id, p.Code, p.Name, CreatedBy = ContextProvider.GetFullName(lstUser, p.CreatedBy), CreatedDate = ContextProvider.GetConvertDatetime(p.CreatedDate), UpdatedBy = ContextProvider.GetFullName(lstUser, p.UpdatedBy), UpdatedDate = ContextProvider.GetConvertDatetime(p.UpdatedDate) }).ToList(); lstResults.Total = lstUnit.Count(); var total = lstUnit.Count(); lstResults.TotalPage = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return(lstResults); }
public List <BaoCaoQuaTangDTO> GetDataReport(ClaimsPrincipal principal, string productId, string idPromotion, string fromDate, string toDate) { var result = new List <BaoCaoQuaTangDTO>(); SessionManager.DoWork(ss => { try { var _fromDate = DateTime.ParseExact(fromDate + " 00:00:00,000", "yyyy-MM-dd HH:mm:ss,fff", System.Globalization.CultureInfo.InvariantCulture); var _toDate = DateTime.ParseExact(toDate + " 00:00:00,000", "yyyy-MM-dd HH:mm:ss,fff", System.Globalization.CultureInfo.InvariantCulture); var userinfo = ContextProvider.GetUserInfo(principal); var promotion = ss.Query <Promotion>().ToList(); var organization = ss.Query <Organization>().ToList(); var tranfer = ss.Query <TransferGift>().Where(s => s.Status == 2 && s.CreatedDate <= _toDate.AddDays(1) && s.CreatedDate >= _fromDate).ToList(); if (productId != null) { tranfer = tranfer.Where(s => s.Product.Id == new Guid(productId)).ToList(); } if (userinfo.OrganizationCode != "QLBH" && userinfo.UserName != "admin" && userinfo.UserName != "nva") { //Nếu là LD CN/PGD if (userinfo.Position.IsLeader) { tranfer = tranfer.Where(s => s.DepartmentId == userinfo.Organization.Id).ToList(); } else//CV CN/PGD { tranfer = tranfer.Where(s => s.CreatedBy == userinfo.Id).ToList(); } } if (idPromotion != null && productId.ToUpper() != "7A452975-E667-41CB-9B32-5875D357FF37") { tranfer = tranfer.Where(s => s.PromotionId == new Guid(idPromotion)).ToList(); } var lstTranferId = tranfer.Select(s => s.Id); var tranferDetail = ss.Query <TransferDetail>().Where(s => lstTranferId.Contains(s.TransferGift.Id)).ToList(); var gifts = ss.Query <Gift>().ToList(); var lstGift = (from _tranfer in tranfer join _tranferDetail in tranferDetail on _tranfer.Id equals _tranferDetail.TransferGift.Id join _gifts in gifts on _tranferDetail.GiftId equals _gifts.Id select new BaoCaoQuaTangDTO { Amount = _tranferDetail.Amount, ReceivingDepartment = ContextProvider.GetOrganizationName(organization, _tranferDetail.ReceivingDepartment), ReceivingPromotion = ContextProvider.GetPromotionName(promotion, _tranferDetail.ReceivingPromotion), CreatedDate = ContextProvider.GetConvertDatetime(_tranfer.CreatedDate), TranferDepartment = ContextProvider.GetOrganizationName(organization, _tranfer.DepartmentId), Code = _gifts.Code, Name = _gifts.GiftGroup.OptionGift.Name + " - " + _gifts.GiftGroup.Name + " - " + _gifts.Name, UnitName = _gifts.Unit.Name, Price = _gifts.Price.ToString("f0"), GiftGroupId = _gifts.GiftGroup.Id.ToString(), GroupName = _gifts.GiftGroup.Name, OptionGiftId = _gifts.GiftGroup.OptionGift.Id.ToString(), OptionGiftName = _gifts.GiftGroup.OptionGift.Name, OrderByDate = ContextProvider.GetOrderDatetime(_tranfer.CreatedDate) }).OrderBy(pp => pp.Name).OrderBy(p => p.GroupName).OrderBy(pp => pp.OptionGiftName).OrderByDescending(pp => pp.OrderByDate); result = lstGift.ToList(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return(result); }
public dynamic LstKhachHangNhanQua(string phanhe, string acctno, string promotionId, int pageNo, int pageSize, ClaimsPrincipal principal) { dynamic result = new ExpandoObject(); try { SessionManager.DoWork(s => { var userinfo = ContextProvider.GetUserInfo(principal); var typeUser = ContextProvider.CheckPermission(userinfo.PermisionId); var lstPromotion = s.Query <Promotion>().ToList(); var lstUser = s.Query <User>().ToList(); var idUsers = lstUser.Where(w => w.Organization.Id == userinfo.Organization.Id).Select(u => u.Id).ToList(); var list = s.Query <CustomerGift>().Where(w => (idUsers.Contains(w.USERID) && typeUser != 1 && typeUser != 2) || typeUser == 1 || typeUser == 2).ToList(); if (!string.IsNullOrEmpty(phanhe)) { list = list.Where(p => p.PhanHe == phanhe).ToList(); } if (!string.IsNullOrEmpty(acctno)) { list = list.Where(p => p.Acctno == acctno).ToList(); } if (!string.IsNullOrEmpty(promotionId)) { list = list.Where(p => p.Promotion.Id == new Guid(promotionId)).ToList(); } var cus = list.GroupBy(p => new { PromotionId = p.Promotion.Id, p.ParentId, p.CusId, p.PhanHe, p.Acctno, p.CusName, p.TERM, p.TERMCD, p.BALANCE, p.CCYCD, p.FRDATE, p.NgayDuyet, p.NguoiDuyet, p.Status, p.CREATEDBy, p.CREATEDDATE }).Select(p => new { Id = p.Key.ParentId, p.Key.CusId, p.Key.PhanHe, p.Key.Acctno, p.Key.PromotionId, PromotionName = ContextProvider.GetPromotionName(lstPromotion, p.Key.PromotionId), NumGift = p.Sum(t => t.NumGift), p.Key.CusName, p.Key.TERM, p.Key.TERMCD, p.Key.BALANCE, p.Key.CCYCD, FRDATE = ContextProvider.GetConvertDatetime(p.Key.FRDATE), NgayDuyet = ContextProvider.GetConvertDatetime(p.Key.NgayDuyet), NguoiDuyet = ContextProvider.GetFullName(lstUser, p.Key.NguoiDuyet), p.Key.Status, CREATEDBy = ContextProvider.GetFullName(lstUser, p.Key.CREATEDBy), CREATEDDATE = ContextProvider.GetConvertDatetime(p.Key.CREATEDDATE), }).ToList(); result.Cus = cus.Skip((pageNo - 1) * pageSize).Take(pageSize).ToList(); var total = cus.Count(); result.TotalPage = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; }); } catch (Exception) { throw; } return(result); }