public List <dynamic> GetBranchReport(ClaimsPrincipal principal) { var lstResults = new List <dynamic>(); var userinfo = ContextProvider.GetUserInfo(principal); var isTypeUser = ContextProvider.CheckPermission(userinfo.PermisionId); try { SessionManager.DoWork(ss => { var list = ss.Query <Organization>().Where(p => p.ManageCode == "CN").ToList(); if (isTypeUser != 1 && isTypeUser != 2) { list = list.Where(w => w.Id == userinfo.Organization.Id).ToList(); } lstResults = list.Select(p => (dynamic) new { p.Id, p.Name, p.Code, p.ManageCode, p.ParentId, p.Address, p.Region, value = p.Id, label = p.Name }).ToList(); }); } catch (Exception ex) { } return(lstResults); }
public List <dynamic> GetIsUser(ClaimsPrincipal principal, Guid id) { var lstResults = new List <dynamic>(); var user = ContextProvider.GetUserInfo(principal); var isTypeUser = ContextProvider.CheckPermission(user.PermisionId); SessionManager.DoWork(ss => { try { lstResults = ss.Query <Gift>() .Select(p => (dynamic) 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, value = p.Name, label = p.Code }).ToList(); if (ContextProvider.CheckPermission(user.PermisionId) == 3) { var ids = ss.Query <TransferDetail>().Where(s => s.ReceivingDepartment == user.OrganizationId && s.ReceivingPromotion == id).Select(s => s.GiftId).ToList(); lstResults = lstResults.Where(w => ids.Contains(w.Id)).ToList(); } if (ContextProvider.CheckPermission(user.PermisionId) == 2 || ContextProvider.CheckPermission(user.PermisionId) == 1) { var ids = ss.Query <TransferDetail>().Where(s => s.ReceivingPromotion == id).Select(s => s.GiftId).ToList(); lstResults = lstResults.Where(w => ids.Contains(w.Id)).ToList(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return(lstResults); }
public List <dynamic> GetDepartmentReport(ClaimsPrincipal principal, string id) { var lstResults = new List <dynamic>(); var userinfo = ContextProvider.GetUserInfo(principal); var isTypeUser = ContextProvider.CheckPermission(userinfo.PermisionId); try { SessionManager.DoWork(ss => { var list = ss.Query <Organization>().Where(p => p.ManageCode == "PGD" && p.ParentId == new Guid(id)).ToList(); if (isTypeUser == 3) { if (userinfo.Position.IsLeader) { list = list.Where(w => w.ParentId == userinfo.Organization.Id || w.Id == userinfo.Organization.Id).ToList(); } else { list = list.Where(w => w.Id == userinfo.Organization.Id).ToList(); } } lstResults = list .Select(p => (dynamic) new { p.Id, p.Name, p.Code, p.ManageCode, p.ParentId, p.Address, p.Region, value = p.Id, label = p.Name }).ToList(); }); } catch (Exception ex) { } return(lstResults); }
public List <dynamic> GetGiftUse(ClaimsPrincipal principal, Guid id) { var lstResults = new List <dynamic>(); var user = ContextProvider.GetUserInfo(principal); var isTypeUser = ContextProvider.CheckPermission(user.PermisionId); SessionManager.DoWork(ss => { try { var promotion = ss.Get <Promotion>(id); var organizations = ss.Query <Organization>().ToList(); var gifts = ss.Query <Gift>().ToList(); var idGift = ss.Query <GiftPromotion>().Where(w => w.GiftPromotionId == promotion.GiftPromotionId).Select(s => s.GiftId).ToList(); var list = ss.Query <CustomerGift>().GroupBy(g => new { g.BRANCHID, g.SUBBRID, GiftId = g.Gift.Id }) .Select(s => new { BranchCode = s.Key.BRANCHID, DepCode = s.Key.SUBBRID, GiftId = s.Key.GiftId }).ToList(); if (ContextProvider.CheckPermission(user.PermisionId) == 3) { var codeDeps = organizations.Where(s => s.Id == user.Organization.Id || s.ParentId == user.Organization.Id).Select(s => s.Code).ToList(); var ids = list.Where(s => codeDeps.Contains(s.DepCode)).Select(s => s.GiftId).ToList(); lstResults = gifts.Where(w => ids.Contains(w.Id) && idGift.Contains(w.Id)).ToList().Select(p => (dynamic) 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, value = p.Name, label = p.Code }).ToList(); } if (ContextProvider.CheckPermission(user.PermisionId) == 2 || ContextProvider.CheckPermission(user.PermisionId) == 1) { var codeDeps = organizations.Select(s => s.Code).ToList(); var ids = list.Where(s => codeDeps.Contains(s.DepCode)).Select(s => s.GiftId).ToList(); lstResults = gifts.Where(w => idGift.Contains(w.Id) && ids.Contains(w.Id)).ToList().Select(p => (dynamic) 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, value = p.Name, label = p.Code }).ToList(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }); return(lstResults); }
public string Approve(string id, string param, string idGift, string idPromotion, int numGift, ClaimsPrincipal principal) { var result = string.Empty; try { var userinfo = ContextProvider.GetUserInfo(principal); var isTypeUser = ContextProvider.CheckPermission(userinfo.PermisionId); var idCustomerGift = new Guid(id); var _productId = new Guid(Constants.ID_PRODUCT_TANG_QUA_KHACH_HANG); SessionManager.DoWork(s => { var customerGift = s.Query <CustomerGift>().SingleOrDefault(p => p.Id == idCustomerGift); if (customerGift != null) { var product = s.Get <Product>(_productId); var stage = s.Query <Stage>().SingleOrDefault(p => p.ProductId == product.Id && p.PositionId == userinfo.Position.Id && p.Name == Constants.DUYET); if (stage != null) { if (param == Constants.APPROVE) { // check số lượng quà tặng trong kho. var store = s.Query <Store>().SingleOrDefault(p => p.DepartmentId == userinfo.Organization.Id && p.PromotionId == new Guid(idPromotion) && p.GiftId == new Guid(idGift)); if (store.Amount >= numGift) { int status = (int)ContextProvider.statusTransfer.Approve; UpdateCustomerGift(customerGift, userinfo, status); SaveCustomerGiftLog(s, stage, customerGift, userinfo); // update Store store.Amount -= numGift; result = Constants.DUYET_THANH_CONG; } else { result = "Quà tặng trong kho không đủ"; } } if (param == Constants.REFUSE) { int status = (int)ContextProvider.statusTransfer.Refuse; UpdateCustomerGift(customerGift, userinfo, status); SaveCustomerGiftLog(s, stage, customerGift, userinfo); result = Constants.TU_CHOI_DUYET_THANH_CONG; } } else { result = "Chức năng này dành cho KSV"; } } }); } catch (Exception ex) { result = 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); }