Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }