Exemplo n.º 1
0
        public ActionResult CreateOrUpdateSalesApprovers(ApproverFormViewModel model)
        {
            string msg            = "";
            bool   isNewApprovers = false;
            bool   result         = true;

            //only filter approver with model's sector
            var salesApproversForSector = model.SalesApprovers.Where(s => s.Sector == model.Sector).ToList();

            //if (salesApproversForSector.Select(s => s.Id).Any(id => id == 0))
            //    isNewApprovers = true;
            var existedSalesCodes = eQuotationContext.Current.ACN_EQ_Sales.Where(s => s.SalesCode == model.SalesCode).ToList();

            //if new create approver and sales code exist, return error message
            if (model.IsNew && existedSalesCodes != null && existedSalesCodes.Count > 0)
            {
                msg    = "Sales Code is duplicated!";
                result = false;
            }
            else
            {
                var acnSalesApprovers = salesApproversForSector.Select(item => new ACN_EQ_Sales()
                {
                    Id            = item.Id,
                    SalesCode     = model.SalesCode,
                    SalesEmail    = model.SalesEmail,
                    IdSBU         = model.IdSBU,
                    Sector        = model.Sector,
                    ApproverEmail = item.ApproverEmail,
                    Level         = item.Level
                }).ToList();

                result = eQuotationDAL.CreateOrUpdateACNSalesApprovers(acnSalesApprovers, ref msg);
            }


            if (result)
            {
                return(RedirectToAction("SalesApproverList"));
            }
            else
            {
                return(Json(new { succeed = result, err = msg }));
            }
        }
Exemplo n.º 2
0
        public ActionResult EditSalesApprovers(string id)
        {
            var model = new ApproverFormViewModel()
            {
                SectorList = new List <string>(), SalesApprovers = new List <ACN_EQ_Sales>(), IsNew = false
            };
            var existedSalesApprover = eQuotationContext.Current.ACN_EQ_Sales.Where(s => s.SalesCode == id).OrderBy(a => a.Level).ToList();


            model.SalesCode      = existedSalesApprover.FirstOrDefault().SalesCode;
            model.SalesEmail     = existedSalesApprover.FirstOrDefault().SalesEmail;
            model.Sector         = existedSalesApprover.FirstOrDefault().Sector;
            model.IdSBU          = existedSalesApprover.FirstOrDefault().IdSBU;
            model.SalesApprovers = existedSalesApprover;
            model.SectorList.Add(model.Sector);

            return(PartialView("SalesApproverForm", model));
        }
Exemplo n.º 3
0
        public ActionResult NewSalesApprovers()
        {
            var executives = eQuotationContext.Current.ACN_Executive.ToList();

            var sectorGroup = executives.GroupBy(e => e.Sector);
            var model       = new ApproverFormViewModel()
            {
                SectorList = new List <string>(), SalesApprovers = new List <ACN_EQ_Sales>(), IsNew = true
            };

            string sector = UserRoleBusinessLogic.getSectorBySalesEmail(AppContext.UserEmail);

            if (!string.IsNullOrEmpty(sector))
            {
                model.SectorList.Add(sector);
            }
            else
            {
                model.SectorList.AddRange(sectorGroup.Select(g => g.Key));
            }



            foreach (var group in sectorGroup)
            {
                if (model.SectorList.Contains(group.Key))
                {
                    for (var i = 1; i <= group.Max(g => g.Level); i++)
                    {
                        var executive     = group.SingleOrDefault(g => g.Level == i);
                        var salesApprover = new ACN_EQ_Sales()
                        {
                            Sector = group.Key, Level = i, ApproverEmail = executive != null? executive.Email:""
                        };
                        model.SalesApprovers.Add(salesApprover);
                    }
                }
            }



            return(PartialView("SalesApproverForm", model));
        }