Пример #1
0
        public ActionResult Add(int id = 0)
        {
            #region Check Rights
            bool hasRights;
            if (id == 0) //Check export rights
            {
                hasRights = AdminHelper.CheckUserAction(ScreenEnum.ContractorRate, ActionEnum.Add);
            }
            else
            {
                hasRights = AdminHelper.CheckUserAction(ScreenEnum.ContractorRate, ActionEnum.Edit);
            }

            if (!hasRights)
            {
                return(RedirectToAction("UnAuthorized", "Home", new { area = "" }));
            }

            #endregion

            ContractorRateVm carrRateVm = ContractorRateHelper.GetContractorRateInfo(id);
            ViewBag.ContractorList   = ListCommonHelper.GetContractorList();
            ViewBag.ContainerList    = ListCommonHelper.GetContainerList();
            ViewData["AreaList"]     = ListCommonHelper.GetAreaGrouped();
            ViewData["CityList"]     = ListCommonHelper.GetCityGrouped();
            ViewData["CurrencyList"] = ListCommonHelper.GetCurrencyList();
            return(View(carrRateVm));
        }
Пример #2
0
        private static bool CheckIfActiveRate(ContractorRateVm contractRateVm)
        {
            bool isActive = false;
            int  contractId, containerTypeId, contractRateId;
            int? fromAreaId, toAreaId;

            contractId      = contractRateVm.ContractorId;
            fromAreaId      = contractRateVm.FromAreaId;
            toAreaId        = contractRateVm.ToAreaId;
            containerTypeId = contractRateVm.ContainerTypeId;
            contractRateId  = contractRateVm.ContractorRateId;

            EasyFreightEntities db = new EasyFreightEntities();

            if (contractRateId == 0)
            {
                isActive = db.ContractorRates.Any(x => x.ContractorId == contractId &&
                                                  x.ContainerTypeId == containerTypeId && x.FromAreaId == fromAreaId &&
                                                  x.ToAreaId == toAreaId &&
                                                  x.IsValid == true);
            }
            else
            {
                isActive = db.ContractorRates.Any(x => x.ContractorId == contractId &&
                                                  x.ContainerTypeId == containerTypeId && x.FromAreaId == fromAreaId &&
                                                  x.ToAreaId == toAreaId && x.ContractorRateId != contractRateId &&
                                                  x.IsValid == true);
            }

            return(isActive);
        }
Пример #3
0
        public static string AddEditContractorRate(ContractorRateVm contractRateVm)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            ContractorRate      contractRateDb;

            bool isSameActive = CheckIfActiveRate(contractRateVm);

            if (isSameActive)
            {
                return("false. Another rate is active with same data");
            }


            int contractRateVmId = contractRateVm.ContractorRateId;

            if (contractRateVmId == 0)
            {
                contractRateDb = new ContractorRate();
            }
            else
            {
                contractRateDb = db.ContractorRates.Where(x => x.ContractorRateId == contractRateVmId).FirstOrDefault();
            }
            Mapper.CreateMap <ContractorRateVm, ContractorRate>()
            .ForMember(x => x.Contractor, y => y.Ignore());
            Mapper.Map(contractRateVm, contractRateDb);

            if (contractRateVmId == 0)
            {
                db.ContractorRates.Add(contractRateDb);
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                isSaved = "false " + e.Message;
            }
            catch (Exception e)
            {
                isSaved = "false " + e.Message;
            }

            return(isSaved);
        }
Пример #4
0
        public static ContractorRateVm GetContractorRateInfo(int contractRateId)
        {
            ContractorRateVm contractRateVm = new ContractorRateVm();

            if (contractRateId == 0)
            {
                return(contractRateVm);
            }

            EasyFreightEntities db             = new EasyFreightEntities();
            ContractorRate      contractRateDb = db.ContractorRates.Where(x => x.ContractorRateId == contractRateId).FirstOrDefault();

            Mapper.CreateMap <ContractorRate, ContractorRateVm>().IgnoreAllNonExisting();
            Mapper.CreateMap <Contractor, ContractorVm>().IgnoreAllNonExisting();
            Mapper.Map(contractRateDb, contractRateVm);
            return(contractRateVm);
        }
Пример #5
0
        public ActionResult AddEditContractorRate(ContractorRateVm carrRateVm)
        {
            string isSaved = ContractorRateHelper.AddEditContractorRate(carrRateVm);

            return(Json(isSaved));
        }