Ejemplo n.º 1
0
        public List <PerkViewModel> GetPerkRanks(PerkViewModel perk)
        {
            var list = new List <PerkViewModel>();

            if (perk.Max == 1)
            {
                list.Add(perk);
                return(list);
            }

            for (var i = 0; i < perk.Max; i++)
            {
                var child = new PerkViewModel
                {
                    Branch      = perk.Branch,
                    BranchId    = perk.BranchId,
                    Id          = perk.Id,
                    Name        = i == 0 ? perk.Name : $"{perk.Name} {i+1}",
                    Level       = perk.Level + i * 2,
                    Description = perk.Description
                };
                list.Add(child);
            }

            return(list);
        }
Ejemplo n.º 2
0
        // GET: /JobOrderHeader/Create

        public ActionResult Create()//DocumentTypeId
        {
            JobOrderHeaderViewModel p = new JobOrderHeaderViewModel();

            p.DocDate     = DateTime.Now;
            p.DueDate     = DateTime.Now;
            p.DivisionId  = (int)System.Web.HttpContext.Current.Session["DivisionId"];
            p.SiteId      = (int)System.Web.HttpContext.Current.Session["SiteId"];
            p.CreatedDate = DateTime.Now;

            List <string> UserRoles = (List <string>)System.Web.HttpContext.Current.Session["Roles"];

            int DocTypeId = new DocumentTypeService(_unitOfWork).Find(TransactionDoctypeConstants.DyeingOrder).DocumentTypeId;

            //Getting Settings
            var settings = new JobOrderSettingsService(_unitOfWork).GetJobOrderSettingsForDocument(DocTypeId, p.DivisionId, p.SiteId);

            if (settings == null && UserRoles.Contains("SysAdmin"))
            {
                return(RedirectToAction("Create", "JobOrderSettings", new { id = DocTypeId }).Warning("Please create job order settings"));
            }
            else if (settings == null && !UserRoles.Contains("SysAdmin"))
            {
                return(View("~/Views/Shared/InValidSettings.cshtml"));
            }
            p.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings);


            List <PerkViewModel> Perks = new List <PerkViewModel>();

            //Perks
            if (p.JobOrderSettings.Perks != null)
            {
                foreach (var item in p.JobOrderSettings.Perks.Split(',').ToList())
                {
                    PerkViewModel temp = Mapper.Map <Perk, PerkViewModel>(new PerkService(_unitOfWork).Find(Convert.ToInt32(item)));
                    Perks.Add(temp);
                }
            }

            p.PerkViewModel = Perks;

            p.ProcessId = settings.ProcessId;
            PrepareViewBag();
            p.DocTypeId = DocTypeId;
            p.DocNo     = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".JobOrderHeaders", p.DocTypeId, p.DocDate, p.DivisionId, p.SiteId);
            return(View(p));
        }
        // GET: /JobOrderHeader/Edit/5
        private ActionResult Edit(int id, string IndexType)
        {
            ViewBag.IndexStatus = IndexType;
            JobOrderHeaderViewModel s = _JobOrderHeaderService.GetJobOrderHeader(id);

            #region DocTypeTimeLineValidation
            try
            {
                TimePlanValidation = _documentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(s), DocumentTimePlanTypeConstants.Modify, User.Identity.Name, out ExceptionMsg, out Continue);
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXC"] += message;
                TimePlanValidation = false;
            }

            if (!TimePlanValidation)
            {
                TempData["CSEXC"] += ExceptionMsg;
            }
            #endregion

            if ((!TimePlanValidation && !Continue))
            {
                return(RedirectToAction("DetailInformation", new { id = id, IndexType = IndexType }));
            }

            //Job Order Settings
            var settings = _jobOrderSettingsServie.GetJobOrderSettingsForDocument(s.DocTypeId, s.DivisionId, s.SiteId);

            if (settings == null && UserRoles.Contains("Admin"))
            {
                return(RedirectToAction("Create", "JobOrderSettings", new { id = s.DocTypeId }).Warning("Please create job order settings"));
            }
            else if (settings == null && !UserRoles.Contains("Admin"))
            {
                return(View("~/Views/Shared/InValidSettings.cshtml"));
            }

            s.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings);

            ////Perks
            s.PerkViewModel = _perkService.GetPerkListForDocumentTypeForEdit(id).ToList();

            if (s.PerkViewModel.Count == 0)
            {
                List <PerkViewModel> Perks = new List <PerkViewModel>();
                if (s.JobOrderSettings.Perks != null)
                {
                    foreach (var item in s.JobOrderSettings.Perks.Split(',').ToList())
                    {
                        PerkViewModel temp = Mapper.Map <Perk, PerkViewModel>(_perkService.Find(Convert.ToInt32(item)));

                        var DocTypePerk = _perkDocumentTypeService.GetPerkDocumentTypeForPerk(s.DocTypeId, temp.PerkId, s.SiteId, s.DivisionId);

                        if (DocTypePerk != null)
                        {
                            temp.Base  = DocTypePerk.Base;
                            temp.Worth = DocTypePerk.Worth;
                            temp.CostConversionMultiplier = DocTypePerk.CostConversionMultiplier;
                            temp.IsEditableRate           = DocTypePerk.IsEditableRate;
                        }
                        else
                        {
                            temp.Base  = 0;
                            temp.Worth = 0;
                            temp.CostConversionMultiplier = 0;
                            temp.IsEditableRate           = true;
                        }

                        Perks.Add(temp);
                    }
                }
                s.PerkViewModel = Perks;
            }
            PrepareViewBag(s.DocTypeId);
            if (s == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Mode            = "Edit";
            ViewBag.transactionType = "";

            ViewBag.Name = _documentTypeService.Find(s.DocTypeId).DocumentTypeName;
            ViewBag.id   = s.DocTypeId;

            if (!(System.Web.HttpContext.Current.Request.UrlReferrer.PathAndQuery).Contains("Create"))
            {
                _JobOrderHeaderService.LogDetailInfo(s);
            }

            return(View("Create", s));
        }
        // GET: /JobOrderHeader/Create

        public ActionResult Create(int id)//DocumentTypeId
        {
            JobOrderHeaderViewModel p = new JobOrderHeaderViewModel();

            p.DocDate     = DateTime.Now;
            p.DueDate     = DateTime.Now;
            p.CreatedDate = DateTime.Now;
            p.DivisionId  = (int)System.Web.HttpContext.Current.Session["DivisionId"];
            p.SiteId      = (int)System.Web.HttpContext.Current.Session["SiteId"];

            //Getting Settings
            var settings = _jobOrderSettingsServie.GetJobOrderSettingsForDocument(id, p.DivisionId, p.SiteId);

            if (settings == null && UserRoles.Contains("Admin"))
            {
                return(RedirectToAction("Create", "JobOrderSettings", new { id = id }).Warning("Please create job order settings"));
            }
            else if (settings == null && !UserRoles.Contains("Admin"))
            {
                return(View("~/Views/Shared/InValidSettings.cshtml"));
            }
            p.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings);

            p.DocTypeId = id;
            List <PerkViewModel> Perks = new List <PerkViewModel>();

            //Perks
            if (p.JobOrderSettings.Perks != null)
            {
                foreach (var item in p.JobOrderSettings.Perks.Split(',').ToList())
                {
                    PerkViewModel temp        = Mapper.Map <Perk, PerkViewModel>(_perkService.Find(Convert.ToInt32(item)));
                    var           DocTypePerk = _perkDocumentTypeService.GetPerkDocumentTypeForPerk(id, temp.PerkId, p.SiteId, p.DivisionId);
                    if (DocTypePerk != null)
                    {
                        temp.Base  = DocTypePerk.Base;
                        temp.Worth = DocTypePerk.Worth;
                        temp.CostConversionMultiplier = DocTypePerk.CostConversionMultiplier;
                        temp.IsEditableRate           = DocTypePerk.IsEditableRate;
                    }
                    else
                    {
                        temp.Base  = 0;
                        temp.Worth = 0;
                        temp.CostConversionMultiplier = 0;
                        temp.IsEditableRate           = true;
                    }
                    Perks.Add(temp);
                }
            }

            if (p.JobOrderSettings.isVisibleCostCenter)
            {
                p.CostCenterName = _JobOrderHeaderService.FGetJobOrderCostCenter(p.DocTypeId, p.DocDate, p.DivisionId, p.SiteId);
            }

            p.PerkViewModel       = Perks;
            p.UnitConversionForId = settings.UnitConversionForId;
            p.ProcessId           = settings.ProcessId;

            PrepareViewBag(id);

            //TODO
            //p.OrderById = new EmployeeService(_unitOfWork).GetEmloyeeForUser(User.Identity.GetUserId());

            if (settings.isVisibleGodown == true && System.Web.HttpContext.Current.Session["DefaultGodownId"] != null)
            {
                p.GodownId = (int)System.Web.HttpContext.Current.Session["DefaultGodownId"];
            }

            if (settings.DueDays.HasValue)
            {
                p.DueDate = _JobOrderHeaderService.AddDueDate(DateTime.Now, settings.DueDays.Value);
            }
            else
            {
                p.DueDate = DateTime.Now;
            }
            p.DocNo      = _documentTypeService.FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".JobOrderHeaders", p.DocTypeId, p.DocDate, p.DivisionId, p.SiteId);
            ViewBag.Mode = "Add";
            ViewBag.Name = _documentTypeService.Find(id).DocumentTypeName;
            ViewBag.id   = id;
            return(View(p));
        }