Example #1
0
        public static int AddShipperQuick(string code, string name)
        {
            Shipper shipperObj = new Shipper();

            shipperObj.ShipperCode   = code;
            shipperObj.ShipperNameEn = name;

            EasyFreightEntities db = new EasyFreightEntities();
            string isSaved         = "true";

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

            return(shipperObj.ShipperId);
        }
Example #2
0
        public static int AddConsigneeQuick(string code, string name)
        {
            Consignee consigneeObj = new Consignee();

            consigneeObj.ConsigneeCode   = code;
            consigneeObj.ConsigneeNameEn = name;

            EasyFreightEntities db = new EasyFreightEntities();
            string isSaved         = "true";

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

            return(consigneeObj.ConsigneeId);
        }
Example #3
0
        internal static string DeleteTruckingCost(int id)
        {
            EasyFreightEntities db = new EasyFreightEntities();
            string isDeleted       = "true";

            var costObj = db.TruckingCostLibs.Where(x => x.TruckingCostId == id).FirstOrDefault();

            db.TruckingCostLibs.Remove(costObj);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                if ((ex.InnerException).InnerException.Message.Contains("DELETE statement conflicted"))
                {
                    isDeleted = "false. Can't delete this row as it is linked with some operation orders";
                }
                else
                {
                    isDeleted = "false" + ex.Message;
                }
            }

            return(isDeleted);
        }
        public static string AddEditArea(Area areaDb)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();

            if (areaDb.AreaId == 0)
            {
                db.Areas.Add(areaDb);
            }
            else
            {
                db.Areas.Attach(areaDb);
                db.Entry(areaDb).State = System.Data.Entity.EntityState.Modified;
            }

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

            return(isSaved);
        }
Example #5
0
        public static string ChangeStatus(int truckingOrderId, byte statusId)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            TruckingOrder       orderDb;

            orderDb = db.TruckingOrders.Where(x => x.TruckingOrderId == truckingOrderId).FirstOrDefault();
            if (statusId == 4) //cancel from HB will delete the record
            {
                db.TruckingOrders.Remove(orderDb);
            }
            else
            {
                orderDb.StatusId = statusId;
            }

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

            return(isSaved);
        }
        internal static object DeleteVessel(int vesselId)
        {
            EasyFreightEntities db = new EasyFreightEntities();
            string isDeleted       = "true";
            Vessel vesselDb        = db.Vessels.Where(x => x.VesselId == vesselId).FirstOrDefault();

            db.Vessels.Remove(vesselDb);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                if ((ex.InnerException).InnerException.Message.Contains("DELETE statement conflicted"))
                {
                    isDeleted = "false. Can't delete this row as it is linked with some operation orders";
                }
                else
                {
                    isDeleted = "false" + ex.Message;
                }
            }

            return(isDeleted);
        }
Example #7
0
        internal static string AddEditTruckCost(int costlId, string costNameEn, string costNameAr)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            TruckingCostLib     costDb;

            if (costlId == 0)
            {
                costDb = new TruckingCostLib();
            }
            else
            {
                costDb = db.TruckingCostLibs.Where(x => x.TruckingCostId == costlId).FirstOrDefault();
            }

            costDb.TruckingCostName   = costNameEn;
            costDb.TruckingCostNameAr = costNameAr;

            if (costlId == 0)
            {
                db.TruckingCostLibs.Add(costDb);
            }

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

            return(isSaved);
        }
        internal static string AddEditVessel(int vesselId, string vesselName)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            Vessel vesselDb;

            if (vesselId == 0)
            {
                vesselDb = new Vessel();
            }
            else
            {
                vesselDb = db.Vessels.Where(x => x.VesselId == vesselId).FirstOrDefault();
            }

            vesselDb.VesselName = vesselName;

            if (vesselId == 0)
            {
                db.Vessels.Add(vesselDb);
            }

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

            return(isSaved);
        }
Example #9
0
        //public static OperationStatisticVm GetOperationStatistics(System.Web.Mvc.FormCollection form)
        //{

        //OperationsEntities db5 = new OperationsEntities();

        //var operationList = db5.OperationViews.Where(f => f.OrderFrom == orderFrom &&
        //    (f.OperationDate >= fromDate && f.OperationDate <= toDate))
        // .Select(x => new
        // {
        //     x.OperationId,
        //     x.CarrierType,
        //     x.QuoteId,
        //     x.CreateDate,
        //     x.OperationCode,
        //     x.ShipperNameEn,
        //     x.ConsigneeNameEn,
        //     x.CarrierNameEn,
        //     x.FromPort,
        //     x.ToPort,
        //     x.DateOfDeparture,
        //     x.StatusName,
        //     x.StatusId,
        //     x.IsConsolidation,
        //     x.OrderFrom,
        //     x.AgentNameEn
        // })
        // .ToList();
        //    OperationsEntities db = new OperationsEntities();
        //    OperationStatisticVm operationStatistic = new OperationStatisticVm() ;
        //        int orderfrom =  string.IsNullOrEmpty(form["OrderFrom"])? 1:int.Parse(form["OrderFrom"]);
        //        DateTime fromDate = string.IsNullOrEmpty(form["FromDate"]) ? DateTime.Now.AddDays(-7) : DateTime.Parse(form["FromDate"]);
        //        DateTime toDate = string.IsNullOrEmpty(form["ToDate"]) ? DateTime.Now.AddDays(-7) : DateTime.Parse(form["ToDate"]);
        //        operationStatistic = GetOperationStatistics(fromDate, toDate, orderfrom);

        //        return operationStatistic;
        //}


        internal static string DeleteOperation(int operationId)
        {
            string isClosed = "true";


            OperationsEntities db = new OperationsEntities();

            int statusId = db.Operations.Where(d => d.OperationId == operationId).FirstOrDefault().StatusId;

            if (statusId > 2)
            {
                isClosed = "false Cannot delete this operation it may be Closed or Invoice Issued ";
                return(isClosed);
            }
            // delete all HB under this operation
            var hbList = db.HouseBills.Where(x => x.OperationId == operationId);// && (x.StatusId == 1 || x.StatusId == 2));

            foreach (var item in hbList)
            {
                item.StatusId = 4; //canceled
            }
            // delete all Custom Clearance under this operation
            var ccList = db.CustomClearanceOrders.Where(x => x.OperationId == operationId);// && (x.StatusId == 1 || x.StatusId == 2));

            foreach (var item in ccList)
            {
                item.StatusId = 4; //canceled
            }
            // Delete all Trucking orders
            EasyFreightEntities dbE = new EasyFreightEntities();
            var truckList           = dbE.TruckingOrders.Where(x => x.OperationId == operationId);// && (x.StatusId == 1 || x.StatusId == 2));

            foreach (var item in truckList)
            {
                item.StatusId = 4; //canceled
            }

            var operation = db.Operations.Where(x => x.OperationId == operationId).FirstOrDefault();

            operation.StatusId = 4;

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

            return(isClosed);
        }
Example #10
0
        public static string DeleteTruckingOrder(int truckingOrderId)
        {
            string isSaved          = "true";
            EasyFreightEntities db  = new EasyFreightEntities();
            OperationsEntities  db1 = new OperationsEntities();
            TruckingOrder       orderDb;


            List <TruckingOrderDetail> orderDetailsDb;
            List <TruckingOrderCost>   orderCostDb;

            orderDb = db.TruckingOrders.Where(x => x.TruckingOrderId == truckingOrderId).FirstOrDefault();
            int houseBillStatusID = db1.HouseBills.Where(c => c.HouseBillId == orderDb.HouseBillId).FirstOrDefault().StatusId;

            if (houseBillStatusID == 3 || houseBillStatusID == 6)
            {
                return("false " + "Cannot delete this trucking. The house bill is closed");
            }
            //cancel from HB will delete the record
            db.TruckingOrders.Remove(orderDb);
            orderDetailsDb = db.TruckingOrderDetails.Where(x => x.TruckingOrderId == truckingOrderId).ToList();
            foreach (var item in orderDetailsDb)
            {
                db.TruckingOrderDetails.Remove(item);
            }
            orderCostDb = db.TruckingOrderCosts.Where(x => x.TruckingOrderId == truckingOrderId).ToList();
            foreach (var item in orderCostDb)
            {
                db.TruckingOrderCosts.Remove(item);
            }



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

            return(isSaved);
        }
Example #11
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);
        }
Example #12
0
        /// <summary>
        /// Will set isValid to false .. will not be deleted
        /// </summary>
        /// <param name="carrRateId"></param>
        /// <returns></returns>
        public static string Delete(int carrRateId)
        {
            string isDeleted               = "true";
            EasyFreightEntities db         = new EasyFreightEntities();
            CarrierRate         carrRateDb = db.CarrierRates.Where(x => x.CarrierRateId == carrRateId).FirstOrDefault();

            carrRateDb.IsValid = false;
            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                isDeleted = "false" + ex.Message;
            }

            return(isDeleted);
        }
Example #13
0
        public static string DeleteArea(int areaId)
        {
            EasyFreightEntities db = new EasyFreightEntities();
            string isDeleted       = "true";
            Area   areaToDel       = db.Areas.Where(x => x.AreaId == areaId).FirstOrDefault();

            db.Areas.Remove(areaToDel);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                isDeleted = "false" + ex.Message;
            }

            return(isDeleted);
        }
Example #14
0
        public static string DeletePort(int portId)
        {
            EasyFreightEntities db = new EasyFreightEntities();
            string isDeleted       = "true";
            Port   portToDel       = db.Ports.Where(x => x.PortId == portId).FirstOrDefault();

            db.Ports.Remove(portToDel);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                isDeleted = "false" + ex.Message;
            }

            return(isDeleted);
        }
Example #15
0
        public static string DeleteIncoterm(int incotermId)
        {
            EasyFreightEntities db   = new EasyFreightEntities();
            string      isDeleted    = "true";
            IncotermLib countryToDel = db.IncotermLibs.Where(x => x.IncotermId == incotermId).FirstOrDefault();

            db.IncotermLibs.Remove(countryToDel);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                isDeleted = "false" + ex.Message;
            }

            return(isDeleted);
        }
Example #16
0
        public static string DeleteContainerType(int containerTypeId)
        {
            EasyFreightEntities db     = new EasyFreightEntities();
            string        isDeleted    = "true";
            ContainerType countryToDel = db.ContainerTypes.Where(x => x.ContainerTypeId == containerTypeId).FirstOrDefault();

            db.ContainerTypes.Remove(countryToDel);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                isDeleted = "false" + ex.Message;
            }

            return(isDeleted);
        }
Example #17
0
        public static string Delete(int id)
        {
            string isDeleted       = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            Agent carrObj          = db.Agents.Where(x => x.AgentId == id).FirstOrDefault();

            db.Agents.Remove(carrObj);

            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                isDeleted = "false " + ex.Message;
            }

            return(isDeleted);
        }
Example #18
0
        public static string AddTruckingOrder(TruckingOrderVm truckingOrderVm)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();

            TruckingOrder truckingOrderDb = new TruckingOrder();

            Mapper.CreateMap <TruckingOrderVm, TruckingOrder>().IgnoreAllNonExisting();
            Mapper.Map(truckingOrderVm, truckingOrderDb);
            //Get carrier Id from operation
            OperationsEntities db1 = new OperationsEntities();
            int operationId        = truckingOrderDb.OperationId;

            truckingOrderDb.CarrierId = db1.Operations.Where(x => x.OperationId == operationId).FirstOrDefault().CarrierId;

            var op_DeliveryNeeded = db1.Operations.Where(x => x.OperationId == operationId).FirstOrDefault();

            op_DeliveryNeeded.DeliveryNeeded = true;

            if (truckingOrderVm.TruckingOrderId == 0)
            {
                db.TruckingOrders.Add(truckingOrderDb);
            }

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

            return(isSaved);
        }
Example #19
0
        public static string AddEditIncoterm(int incotermId, string incotermCode, string incotermName)
        {
            string isSaved                    = "true";
            EasyFreightEntities db            = new EasyFreightEntities();
            IncotermLib         incotermLibDb = new IncotermLib();

            incotermLibDb.IncotermId   = incotermId;
            incotermLibDb.IncotermCode = incotermCode;
            incotermLibDb.IncotermName = incotermName;


            if (string.IsNullOrEmpty(incotermName))
            {
                return("false");
            }

            if (incotermId == 0)
            {
                db.IncotermLibs.Add(incotermLibDb);
            }
            else
            {
                db.IncotermLibs.Attach(incotermLibDb);
                db.Entry(incotermLibDb).State = System.Data.Entity.EntityState.Modified;
            }

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

            return(isSaved);
        }
Example #20
0
        public static string AddEditContainerType(int containerTypeId, string containerTypeName, string maxCBM, string maxWeight)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            ContainerType       containerTypeDb = new ContainerType();

            containerTypeDb.ContainerTypeId   = containerTypeId;
            containerTypeDb.ContainerTypeName = containerTypeName;
            containerTypeDb.MaxCBM            = decimal.Parse(maxCBM);
            containerTypeDb.MaxWeight         = decimal.Parse(maxWeight);

            if (string.IsNullOrEmpty(containerTypeName))
            {
                return("false");
            }

            if (containerTypeId == 0)
            {
                db.ContainerTypes.Add(containerTypeDb);
            }
            else
            {
                db.ContainerTypes.Attach(containerTypeDb);
                db.Entry(containerTypeDb).State = System.Data.Entity.EntityState.Modified;
            }

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

            return(isSaved);
        }
Example #21
0
        public static string AddEditCountry(int countryId, string countyNameEn, string countryNameAr)
        {
            string isSaved                = "true";
            EasyFreightEntities db        = new EasyFreightEntities();
            Country             countryDb = new Country();

            countryDb.CountryId     = countryId;
            countryDb.CountryNameAr = countryNameAr;
            countryDb.CountryNameEn = countyNameEn;

            if (string.IsNullOrEmpty(countyNameEn))
            {
                return("false");
            }

            if (countryId == 0)
            {
                db.Countries.Add(countryDb);
            }
            else
            {
                db.Countries.Attach(countryDb);
                db.Entry(countryDb).State = System.Data.Entity.EntityState.Modified;
            }

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

            return(isSaved);
        }
Example #22
0
        public static string AddEditPackageType(int packageTypeId, string packageTypeNameEn, string packageTypeNameAr)
        {
            string isSaved                    = "true";
            EasyFreightEntities db            = new EasyFreightEntities();
            PackageType         packageTypeDb = new PackageType();

            packageTypeDb.PackageTypeId     = packageTypeId;
            packageTypeDb.PackageTypeNameEn = packageTypeNameEn;
            packageTypeDb.PackageTypeNameAr = packageTypeNameAr;

            if (string.IsNullOrEmpty(packageTypeNameEn))
            {
                return("false");
            }

            if (packageTypeId == 0)
            {
                db.PackageTypes.Add(packageTypeDb);
            }
            else
            {
                db.PackageTypes.Attach(packageTypeDb);
                db.Entry(packageTypeDb).State = System.Data.Entity.EntityState.Modified;
            }

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

            return(isSaved);
        }
Example #23
0
        public static string AddEditAgent(AgentVm carrVm)
        {
            int    carrId          = carrVm.AgentId;
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            Agent carrDb;
            List <AgentContact> dbContactList = new List <AgentContact>();

            if (carrId == 0) //Add new case
            {
                carrDb = new Agent();
            }
            else
            {
                carrDb = db.Agents.Include("AgentContacts").Where(x => x.AgentId == carrId).FirstOrDefault();
                //delete any removed contact on the screen
                dbContactList = carrDb.AgentContacts.ToList();
                try
                {
                    //Get contact Ids sent from the screen
                    List <int> contactVmIds = carrVm.ContactPersons.Select(x => x.ContactId).ToList();
                    var        contactDel   = dbContactList.Where(x => !contactVmIds.Contains(x.ContactId)).ToList();

                    foreach (var item in contactDel)
                    {
                        db.AgentContacts.Remove(item);
                    }
                }
                catch { }
            }

            Mapper.CreateMap <AgentVm, Agent>().IgnoreAllNonExisting();
            Mapper.Map(carrVm, carrDb);



            if (carrId == 0)
            {
                Random rand = new Random();
                carrDb.AgentCode = rand.Next(10000).ToString();
                db.Agents.Add(carrDb);
            }

            Mapper.CreateMap <ContactPersonVm, AgentContact>().IgnoreAllNonExisting()
            .ForMember(x => x.AgentId, opts => opts.MapFrom(scr => scr.FkValue));

            AgentContact carrContactDb;

            if (carrVm.ContactPersons != null && carrVm.ContactPersons.Count > 0)
            {
                foreach (var item in carrVm.ContactPersons.Where(x => !string.IsNullOrEmpty(x.ContactName)))
                {
                    if (item.ContactId == 0)
                    {
                        carrContactDb = new AgentContact();
                    }
                    else
                    {
                        int contVmId = item.ContactId;
                        carrContactDb = dbContactList.Where(x => x.ContactId == contVmId).FirstOrDefault();
                    }

                    Mapper.Map(item, carrContactDb);

                    if (item.ContactId == 0)
                    {
                        carrDb.AgentContacts.Add(carrContactDb);
                    }
                }
            }
            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                isSaved = "false " + e.Message;
            }
            catch (Exception e)
            {
                isSaved = "false " + e.Message;
            }

            return(isSaved);
        }
Example #24
0
        public static string AddEditCompSetup(CompanySetupVm compSetVm)
        {
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();

            if (compSetVm.TabIndex == 1) // First tab .. CompanySetup table
            {
                int          rowsCount = db.CompanySetups.Count();
                CompanySetup compSetupDb;

                if (rowsCount == 0)
                {
                    compSetupDb = new CompanySetup();
                }
                else
                {
                    compSetupDb = db.CompanySetups.FirstOrDefault();
                }

                Mapper.CreateMap <CompanySetupVm, CompanySetup>();

                Mapper.Map(compSetVm, compSetupDb);

                compSetupDb.CompanyId = 1;
                //Add new
                if (rowsCount == 0)
                {
                    db.CompanySetups.Add(compSetupDb);
                }


                db.SaveChanges();
            }
            else if (compSetVm.TabIndex == 2) // Second tab .. CompanySetupContact table
            {
                int rowsCount = db.CompanySetupContacts.Count();
                CompanySetupContact compSetupDb;

                if (rowsCount == 0)
                {
                    compSetupDb = new CompanySetupContact();
                }
                else
                {
                    compSetupDb = db.CompanySetupContacts.FirstOrDefault();
                }

                Mapper.CreateMap <CompanySetupVm, CompanySetupContact>();
                Mapper.Map(compSetVm, compSetupDb);

                compSetupDb.CompanyId = 1;

                //Add new
                if (rowsCount == 0)
                {
                    db.CompanySetupContacts.Add(compSetupDb);
                }


                db.SaveChanges();
            }

            else if (compSetVm.TabIndex == 3) // last tab .. SystemSetup table
            {
                int         rowsCount = db.SystemSetups.Count();
                SystemSetup compSetupDb;

                if (rowsCount == 0)
                {
                    compSetupDb = new SystemSetup();
                }
                else
                {
                    compSetupDb = db.SystemSetups.FirstOrDefault();
                }

                Mapper.CreateMap <CompanySetupVm, SystemSetup>();
                Mapper.Map(compSetVm, compSetupDb);

                compSetupDb.CompanyId = 1;

                //Add new
                if (rowsCount == 0)
                {
                    db.SystemSetups.Add(compSetupDb);
                }


                db.SaveChanges();
            }

            return(isSaved);
        }
Example #25
0
        public static string AddEditTruckingOrderDetails(TruckingOrderDetailVm truckingOrderVm)
        {
            int    truckingOrderId = truckingOrderVm.TruckingOrderId;
            string isSaved         = "true";
            EasyFreightEntities db = new EasyFreightEntities();
            TruckingOrderDetail orderDetailDb;
            //check if detauils is inserted before
            int detailCount = db.TruckingOrderDetails.Where(x => x.TruckingOrderId == truckingOrderId).Count();

            TruckingOrder orderDb;

            orderDb = db.TruckingOrders.Where(x => x.TruckingOrderId == truckingOrderId).FirstOrDefault();
            // change the status
            if (truckingOrderVm.StatusId == 3)
            {
                orderDb.StatusId = 3; //closed
            }

            List <TruckingOrderCost> dbOrderCostList = new List <TruckingOrderCost>();

            if (detailCount == 0) //Add new case
            {
                orderDetailDb = new TruckingOrderDetail();
            }
            else
            {
                orderDetailDb = db.TruckingOrderDetails.Include("TruckingOrderCosts").Where(x => x.TruckingOrderId == truckingOrderId).FirstOrDefault();

                //delete any removed costs on the screen
                dbOrderCostList = orderDetailDb.TruckingOrderCosts.ToList();

                //Get cost Ids sent from the screen
                List <int> truckingOrderCostVmIds = truckingOrderVm.TruckingOrderCosts.Select(x => x.TruckingOrderCostId).ToList();
                var        orderCostDel           = dbOrderCostList.Where(x => !truckingOrderCostVmIds.Contains(x.TruckingOrderCostId)).ToList();

                foreach (var item in orderCostDel)
                {
                    db.TruckingOrderCosts.Remove(item);
                }
            }

            Mapper.CreateMap <TruckingOrderDetailVm, TruckingOrderDetail>().IgnoreAllNonExisting();
            Mapper.CreateMap <TruckingCostVm, TruckingOrderCost>().IgnoreAllNonExisting();
            Mapper.Map(truckingOrderVm, orderDetailDb);

            if (detailCount == 0)
            {
                orderDetailDb.TruckingOrderCode = AdminHelper.GeneratePrefixCode(PrefixForEnum.TruckingOrder, true);
                db.TruckingOrderDetails.Add(orderDetailDb);

                if (truckingOrderVm.StatusId != 3)
                {
                    orderDb.StatusId = 2; // open
                }
            }

            List <OperationContainer> dbOperationContainerList = new List <OperationContainer>();
            OperationsEntities        opdb = new OperationsEntities();

            dbOperationContainerList = opdb.OperationContainers.Where(x => x.OperationId == truckingOrderVm.OperationId).ToList();

            foreach (var item in truckingOrderVm.OperationContainers)
            {
                long operConIdvmId = item.OperConId;
                OperationContainer operationContainerDb = dbOperationContainerList
                                                          .Where(x => x.OperConId == operConIdvmId).FirstOrDefault();
                operationContainerDb.ContainerNumber = item.ContainerNumber;
                operationContainerDb.SealNumber      = item.SealNumber;
                //Mapper.Map(item, operationContainerDb);
            }

            try
            {
                db.SaveChanges();

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

            return(isSaved);
        }
Example #26
0
        public static string AddEditCarrierRate(CarrierRateVm carrRateVm)
        {
            string isSaved      = "true";
            bool   isSameActive = CheckIfActiveRate(carrRateVm);

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

            EasyFreightEntities db = new EasyFreightEntities();
            CarrierRate         carrRateDb;
            int carrRateVmId = carrRateVm.CarrierRateId;

            if (carrRateVmId == 0)
            {
                carrRateDb = new CarrierRate();
            }
            else
            {
                carrRateDb = db.CarrierRates.Include("CarrierRateTransits").Where(x => x.CarrierRateId == carrRateVmId).FirstOrDefault();
            }

            Mapper.CreateMap <CarrierRateVm, CarrierRate>().IgnoreAllNonExisting();
            Mapper.Map(carrRateVm, carrRateDb);

            var transitList = carrRateDb.CarrierRateTransits.ToList();

            //Delete all transit and insert it again
            if (carrRateDb.CarrierRateTransits.Count > 0)
            {
                foreach (var item in transitList)
                {
                    carrRateDb.CarrierRateTransits.Remove(item);
                }
            }

            if (carrRateVm.TransitPortId != null)
            {
                CarrierRateTransit carrTransit;
                foreach (var item in carrRateVm.TransitPortId)
                {
                    carrTransit = new CarrierRateTransit();
                    carrTransit.CarrierRateId = carrRateVm.CarrierRateId;
                    carrTransit.TransitPortId = item;
                    carrRateDb.CarrierRateTransits.Add(carrTransit);
                }
            }

            if (carrRateVmId == 0)
            {
                db.CarrierRates.Add(carrRateDb);
            }

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

            return(isSaved);
        }