/// <summary>
        /// Get list of CustomClearanceDetailVm
        /// </summary>
        /// <param name="custClearId">Custom Clearance Id</param>
        /// <returns>CustomClearanceDetailVm List</returns>
        internal static CustomClearanceDetailMainVm GetCustClearDetailList(int custClearId)
        {
            List <CustomClearanceDetailVm> cusClearDetailList = new List <CustomClearanceDetailVm>();
            OperationsEntities             db = new OperationsEntities();
            var custDbList = db.CustomClearanceDetails.Where(x => x.CCId == custClearId).ToList();

            if (custDbList.Count == 0)
            {
                CustomClearanceDetailVm custClearDetObj = new CustomClearanceDetailVm {
                    CCId = custClearId
                };
                cusClearDetailList.Add(custClearDetObj);
            }
            else
            {
                Mapper.CreateMap <CustomClearanceDetail, CustomClearanceDetailVm>().IgnoreAllNonExisting();
                Mapper.Map(custDbList, cusClearDetailList);
            }

            CustomClearanceDetailMainVm custClearDetMain = new CustomClearanceDetailMainVm();

            custClearDetMain.CustomClearanceDetailVms.AddRange(cusClearDetailList);

            return(custClearDetMain);
        }
Esempio n. 2
0
        internal static OperationView GetOne(int id)
        {
            OperationsEntities db            = new OperationsEntities();
            OperationView      operationView = db.OperationViews.Where(x => x.OperationId == id).FirstOrDefault();

            return(operationView);
        }
        internal static CustomClearVm GetCustomClearance(int operationId, int houseBillId)
        {
            CustomClearVm      custClearVm = new CustomClearVm(operationId, houseBillId);
            OperationsEntities db          = new OperationsEntities();
            //Get operation status
            byte oprStatus = db.HouseBills.Where(x => x.HouseBillId == houseBillId).FirstOrDefault().StatusId;
            CustomClearanceOrder custClearDb;

            if (oprStatus == 3 || oprStatus == 4)
            {
                custClearDb = db.CustomClearanceOrders
                              .Where(x => x.HouseBillId == houseBillId && (x.StatusId == 3 || x.StatusId == 4)).FirstOrDefault();
            }

            else
            {
                custClearDb = db.CustomClearanceOrders
                              .Where(x => x.HouseBillId == houseBillId && (x.StatusId == 1 || x.StatusId == 2)).FirstOrDefault();
            }

            if (custClearDb != null)
            {
                Mapper.CreateMap <CustomClearanceOrder, CustomClearVm>().IgnoreAllNonExisting();
                Mapper.Map(custClearDb, custClearVm);
            }

            return(custClearVm);
        }
        /// <summary>
        /// Close CC order .. change statusId = 3
        /// </summary>
        /// <param name="ccId"></param>
        /// <returns>string "true" if success</returns>
        internal static string CloseCC(int ccId, byte statusId)
        {
            string             isClosed = "true";
            OperationsEntities db       = new OperationsEntities();
            var ccOrder = db.CustomClearanceOrders.Where(x => x.CCId == ccId).FirstOrDefault();

            if (statusId == 4) //cancel from HB will delete the record
            {
                db.CustomClearanceOrders.Remove(ccOrder);
            }
            else
            {
                ccOrder.StatusId = statusId;
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                isClosed = "false " + e.Message;
            }
            catch (Exception e)
            {
                isClosed = "false " + e.InnerException;
            }
            return(isClosed);
        }
Esempio n. 5
0
        internal static int GetHBCount(int operationId)
        {
            OperationsEntities db = new OperationsEntities();
            int count             = db.HouseBills.Where(x => x.OperationId == operationId).Count();

            return(count);
        }
Esempio n. 6
0
        public static List <OperationContainerVm> GetOperationContainers(int id)
        {
            OperationsEntities          db            = new OperationsEntities();
            Dictionary <int, string>    contList      = ListCommonHelper.GetContainerList();
            Dictionary <int, string>    packageList   = ListCommonHelper.GetPackageTypeList();
            List <OperationContainerVm> oprContainers = new List <OperationContainerVm>();
            var operConDb = db.OperationContainers.Where(x => x.OperationId == id).ToList();

            Mapper.CreateMap <OperationContainer, OperationContainerVm>().IgnoreAllNonExisting();

            Mapper.Map(operConDb, oprContainers);
            foreach (var item in oprContainers)
            {
                try
                {
                    item.ContainerTypeName = contList[item.ContainerTypeId];
                }
                catch { }

                if (item.PackageTypeId != null)
                {
                    item.PackageTypeName = packageList[item.PackageTypeId.Value];
                }
            }

            if (oprContainers.Count == 0)
            {
                OperationContainerVm operContObj = new OperationContainerVm();
                oprContainers.Add(operContObj);
            }


            return(oprContainers);
        }
        /// <summary>
        /// Get one row from CustomClearanceView
        /// </summary>
        /// <param name="id">Custom Clearance Id</param>
        /// <returns>CustomClearanceView object</returns>
        internal static CustomClearanceView GetOneCustClearView(int ccId)
        {
            OperationsEntities  db           = new OperationsEntities();
            CustomClearanceView custClearObj = db.CustomClearanceViews.Where(x => x.CCId == ccId).FirstOrDefault();

            return(custClearObj);
        }
Esempio n. 8
0
        internal static string ChangeHBStatus(int hbId, byte statusId)
        {
            string             isClosed = "true";
            OperationsEntities db       = new OperationsEntities();

            int operCostCount = db.OperationCosts.Where(x => x.HouseBillId == hbId).Count();

            if (operCostCount == 0)
            {
                return("Please add operation cost before close it.");
            }

            HouseBill hbObj = db.HouseBills.Where(x => x.HouseBillId == hbId).FirstOrDefault();

            hbObj.StatusId = statusId; //closed
            try
            {
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                isClosed = "false " + e.Message;
            }
            catch (Exception e)
            {
                isClosed = "false " + e.InnerException;
            }
            return(isClosed);
        }
Esempio n. 9
0
        public static HouseBillView GetHBViewInfo(int hbId)
        {
            OperationsEntities db     = new OperationsEntities();
            HouseBillView      hbView = db.HouseBillViews.Where(x => x.HouseBillId == hbId).FirstOrDefault();

            return(hbView);
        }
Esempio n. 10
0
        public static QuotationVm GetQuotationInfo(int quotationId, byte orderFrom)
        {
            QuotationVm quotationVm = new QuotationVm(orderFrom);

            if (quotationId == 0)
            {
                QuotationContainerVm quotContVm = new QuotationContainerVm();
                quotationVm.QuotationContainers.Add(quotContVm);
            }
            else
            {
                OperationsEntities db = new OperationsEntities();
                var quotDb            = db.Quotations.Include("QuotationContainers")
                                        .Where(x => x.QuoteId == quotationId).FirstOrDefault();

                Mapper.CreateMap <Quotation, QuotationVm>().IgnoreAllNonExisting();
                Mapper.CreateMap <QuotationContainer, QuotationContainerVm>().IgnoreAllNonExisting();
                Mapper.Map(quotDb, quotationVm);

                if (quotationVm.QuotationContainers.Count == 0)
                {
                    QuotationContainerVm quotContVm = new QuotationContainerVm();
                    quotationVm.QuotationContainers.Add(quotContVm);
                }
            }
            return(quotationVm);
        }
Esempio n. 11
0
        public static QuotationView GetOneQuote(int id)
        {
            OperationsEntities db        = new OperationsEntities();
            QuotationView      quoteView = db.QuotationViews.Where(x => x.QuoteId == id).FirstOrDefault();

            return(quoteView);
        }
Esempio n. 12
0
        internal static List <OperationCostLib> GetOperationCostLib()
        {
            OperationsEntities      db      = new OperationsEntities();
            List <OperationCostLib> costLib = db.OperationCostLibs.ToList();

            return(costLib);
        }
Esempio n. 13
0
        internal static string AddEditOperationCost(int costId, string costNameEn, string costNameAr)
        {
            string             isSaved = "true";
            OperationsEntities db      = new OperationsEntities();
            OperationCostLib   costDb;

            if (costId == 0)
            {
                costDb = new OperationCostLib();
            }
            else
            {
                costDb = db.OperationCostLibs.Where(x => x.OperCostLibId == costId).FirstOrDefault();
            }

            costDb.OperCostNameEn = costNameEn;
            costDb.OperCostNameAr = costNameAr;

            if (costId == 0)
            {
                db.OperationCostLibs.Add(costDb);
            }

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

            return(isSaved);
        }
Esempio n. 14
0
        internal static string DeleteCCCost(int id)
        {
            OperationsEntities db        = new OperationsEntities();
            string             isDeleted = "true";

            var costObj = db.CustomClearanceCostLibs.Where(x => x.CCCostId == id).FirstOrDefault();

            db.CustomClearanceCostLibs.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);
        }
Esempio n. 15
0
        internal static List <CustomClearanceCostLib> GetCCCostLib()
        {
            OperationsEntities            db      = new OperationsEntities();
            List <CustomClearanceCostLib> costLib = db.CustomClearanceCostLibs.ToList();

            return(costLib);
        }
Esempio n. 16
0
        public static string GetCCCashDepAccountId(int operationId)
        {
            OperationsEntities db    = new OperationsEntities();
            string             accId = db.Operations.Where(x => x.OperationId == operationId).FirstOrDefault().CCCashDepAccountId;

            return(accId);
        }
Esempio n. 17
0
        private static int GetOperationCostCount(int operationId)
        {
            OperationsEntities db = new OperationsEntities();
            int count             = db.OperationCosts.Where(x => x.OperationId == operationId).Count();

            return(count);
        }
Esempio n. 18
0
        /// <summary>
        /// Get container summary for operation
        /// </summary>
        /// <param name="operationId">int operation id</param>
        /// <returns>string like 2x20' 4xLCL 3x40'</returns>
        internal static string GetContainersSummary(int operationId)
        {
            OperationsEntities db = new OperationsEntities();
            var contList          = db.OperationContainers.Where(x => x.OperationId == operationId)
                                    .GroupBy(x => x.ContainerTypeId, (key, values) => new { ContainerTypeId = key, count = values.Count() }).ToList();

            Dictionary <int, string> containerTypeList = ListCommonHelper.GetContainerList();
            StringBuilder            result            = new StringBuilder();

            foreach (var item in contList)
            {
                if (item.ContainerTypeId == 0)
                {
                    result.Append("Air Container");
                }
                else
                {
                    result.Append(containerTypeList[item.ContainerTypeId]);
                }

                result.Append("x");
                result.Append(item.count);
                result.Append("  ");
            }

            return(result.ToString());
        }
Esempio n. 19
0
        internal static OperationCostMainVm GetHBCost(int houseBillId)
        {
            OperationsEntities db = new OperationsEntities();
            var operCostDb        = db.OperationCosts.Where(x => x.HouseBillId == houseBillId && x.IsAccounting == true).ToList();
            OperationCostMainVm operCostMainVm = new OperationCostMainVm();

            if (operCostDb.Count == 0)
            {
                OperationCostVm operCostVm = new OperationCostVm()
                {
                    HouseBillId = houseBillId
                };
                operCostMainVm.OperationCosts.Add(operCostVm);
            }
            else
            {
                OperationCostVm operCostVm;
                Mapper.CreateMap <OperationCost, OperationCostVm>().IgnoreAllNonExisting();
                foreach (var item in operCostDb)
                {
                    operCostVm = new OperationCostVm();
                    Mapper.Map(item, operCostVm);
                    //if operation id = 0 .. view mode .. load all data


                    var costLib = item.OperationCostLib;
                    operCostVm.OperCostNameEn = costLib.OperCostNameEn;
                    operCostVm.OperCostNameAr = costLib.OperCostNameAr;
                    operCostVm.CurrencySign   = item.Currency.CurrencySign;


                    operCostMainVm.OperationCosts.Add(operCostVm);
                }
                OperationCostTotalsVm costTotals;
                var totalsObj = operCostMainVm.OperationCosts.GroupBy(g => g.CurrencySign)
                                .Select(x => new
                {
                    CurrSign     = x.Key,
                    TotalSelling = x.Sum(g => g.OperationCostSelling),
                    TotalNet     = x.Sum(g => g.OperationCostNet)
                }).ToList();

                foreach (var item in totalsObj)
                {
                    costTotals =
                        new OperationCostTotalsVm()
                    {
                        CurrencySign     = item.CurrSign,
                        TotalCostNet     = item.TotalNet,
                        TotalCostSelling = item.TotalSelling
                    };

                    operCostMainVm.Totals.Add(costTotals);
                }
            }
            return(operCostMainVm);
        }
Esempio n. 20
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);
        }
Esempio n. 21
0
        //kamal
        internal static HouseBillListVm GetHbContent(int hbId)
        {
            OperationsEntities db = new OperationsEntities();



            HouseBillListVm hbList = db.HouseBills
                                     .Where(x => x.HouseBillId == hbId)
                                     .Select(x => new HouseBillListVm
            {
                HouseBillId        = x.HouseBillId,
                OperationCode      = x.OperationCode,
                OperationDate      = x.OperationDate,
                ShipperId          = x.ShipperId,
                ConsigneeId        = x.ConsigneeId,
                HouseBL            = x.HouseBL,
                ClientName         = "",
                NumberOfPackages   = x.NumberOfPackages,
                OperationId        = x.OperationId,
                CarrierType        = x.Operation.CarrierType,
                StatusId           = x.StatusId,
                FreightCostAmount  = x.CollectedFreightCost,
                ThcCostAmount      = x.CollectedThcCost,
                FreighCurrencySign = x.Currency1.CurrencySign,
                ThcCurrencySign    = x.Currency.CurrencySign,
                AgentId            = x.AgentId
            })
                                     .FirstOrDefault();


            Operation operationDb = db.Operations.Where(x => x.OperationId == hbList.OperationId).FirstOrDefault();

            EasyFreightEntities db1 = new EasyFreightEntities();

            if (operationDb.OrderFrom == 1) //Export .. client will be the shipper
            {
                var shipperList = db1.Shippers
                                  .Where(x => x.ShipperId == hbList.ShipperId)
                                  .Select(x => new { x.ShipperId, x.ShipperNameEn, x.ShipperNameAr }).ToList();

                hbList.ClientName = shipperList.Where(x => x.ShipperId == hbList.ShipperId).FirstOrDefault().ShipperNameEn;
            }
            else //Export .. client will be consignee
            {
                //List<int> consigneeIds = hbList.Select(x => x.ConsigneeId).ToList();
                var consigneeList = db1.Consignees
                                    .Where(x => x.ConsigneeId == hbList.ConsigneeId)
                                    .Select(x => new { x.ConsigneeId, x.ConsigneeNameEn, x.ConsigneeNameAr }).ToList();

                hbList.ClientName = consigneeList.Where(x => x.ConsigneeId == hbList.ConsigneeId).FirstOrDefault().ConsigneeNameEn;
            }
            return(hbList);
        }
Esempio n. 22
0
        /// <summary>
        /// Get data for Concession Letter "خطاب تنازل"
        /// </summary>
        /// <param name="operationId">operation id</param>
        /// <param name="langCode">language code "en" or "ar"</param>
        /// <returns>Concession Letter Vm</returns>
        internal static ConcessionLetterVm GetConcessionLetter(int operationId, string langCode = "en")
        {
            ConcessionLetterVm concLetterVm = new ConcessionLetterVm();
            OperationsEntities db           = new OperationsEntities();
            var operDb = //db.OperationViews
                         //.Where(x => x.OperationId == operationId)
                         db.HouseBillViews.Where(x => x.HouseBillId == operationId)
                         .Select(x => new
            {
                x.CarrierNameEn,
                x.FromPort,
                x.MBL,
                x.GrossWeight,
                x.CBM,
                x.ConsigneeNameEn,
                x.ToPort,
                x.CarrierType,
                x.NumberOfPackages,
                x.OperationId
            })
                         .FirstOrDefault();


            concLetterVm.CarrierName      = operDb.CarrierNameEn;
            concLetterVm.FromPort         = operDb.FromPort;
            concLetterVm.MBL              = operDb.MBL;
            concLetterVm.GrossWeight      = operDb.GrossWeight.Value;
            concLetterVm.CBM              = operDb.CBM == null ? 0 : operDb.CBM.Value;
            concLetterVm.ConsigneeName    = operDb.ConsigneeNameEn;
            concLetterVm.Containers       = GetContainersSummary(operDb.OperationId);
            concLetterVm.NumberOfPackages = operDb.NumberOfPackages.Value;
            concLetterVm.ToPort           = operDb.ToPort;
            if (operDb.CarrierType == 1) // sea
            {
                concLetterVm.StaticLabels = CommonHelper.GetStaticLabels((int)StaticTextForScreenEnum.ConcessionLetter, langCode);
            }
            else
            {
                concLetterVm.StaticLabels = CommonHelper.GetStaticLabels((int)StaticTextForScreenEnum.ConcessionLetterAir, langCode);
                concLetterVm.HouseBL      = db.HouseBills.Where(x => x.HouseBillId == operationId).FirstOrDefault().HouseBL;
            }

            if (langCode == "ar")
            {
                concLetterVm.CompanyName = CommonHelper.GetCompInfo().CompanyNameAr;
            }
            else
            {
                concLetterVm.CompanyName = CommonHelper.GetCompInfo().CompanyNameEn;
            }
            return(concLetterVm);
        }
Esempio n. 23
0
        /// <summary>
        /// Check If any transportation or CC is opened for this operation
        /// .. if so will show message that is must be closed first
        /// </summary>
        /// <param name="operationId"></param>
        /// <returns></returns>
        private static bool CheckOpenedOperationTransactions(int operationId)
        {
            bool isOpened           = false;
            EasyFreightEntities db1 = new EasyFreightEntities();

            isOpened = db1.TruckingOrders.Any(x => x.OperationId == operationId && (x.StatusId == 1 || x.StatusId == 2));
            if (!isOpened)
            {
                OperationsEntities db = new OperationsEntities();
                isOpened = db.CustomClearanceOrders.Any(x => x.OperationId == operationId && (x.StatusId == 1 || x.StatusId == 2));
            }


            return(isOpened);
        }
Esempio n. 24
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);
        }
Esempio n. 25
0
        /// <summary>
        /// Close operation and all related HB
        /// </summary>
        /// <param name="operationId"></param>
        /// <returns></returns>
        internal static string CloseOperation(int operationId)
        {
            string isClosed      = "true";
            int    operCostCount = GetOperationCostCount(operationId);

            if (operCostCount == 0)
            {
                return("Please add operation cost before close it.");
            }

            bool isTransOpened = CheckOpenedOperationTransactions(operationId);

            if (isTransOpened)
            {
                return("Transportation or Custom Clearance orders are opened. Please close them first");
            }

            OperationsEntities db = new OperationsEntities();
            bool anyHbIsOpended   = db.HouseBills.Any(x => x.OperationId == operationId && (x.StatusId == 1 || x.StatusId == 2));

            if (anyHbIsOpended)
            {
                var hbList = db.HouseBills.Where(x => x.OperationId == operationId && (x.StatusId == 1 || x.StatusId == 2));
                foreach (var item in hbList)
                {
                    item.StatusId = 3;
                }
            }

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

            operation.StatusId = 3;

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

            return(isClosed);
        }
Esempio n. 26
0
        public static OperationStatisticVm GetOperationStatistics(DateTime fromDate, DateTime toDate, int?orderFrom)
        {
            /* */
            OperationsEntities db5 = new OperationsEntities();

            var operationList = db5.OperationViews.Where(f => f.OrderFrom == orderFrom &&
                                                         (f.OperationDate >= fromDate && f.OperationDate <= toDate))
                                .GroupBy(f => f.ShipperId)
                                .Select(x => new
            {
                ShipperId      = x.Key,
                OperationCount = x.Count(),
                TotalCBM       = x.Sum(f => f.CBM),
                TotalWeight    = x.Sum(f => f.NetWeight),
                ShipperNameEn  = x.Max(r => r.ShipperNameEn)
                                 //x.ShipperId,
                                 //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
            })
                                .Take(5)
                                .OrderByDescending(y => y.OperationCount)
                                .ThenBy(s => s.TotalWeight)
                                .ToList();
            var ee = operationList;
            /* */
            OperationsEntities            db = new OperationsEntities();
            OperationStatisticVm          operationStatistic = new OperationStatisticVm();
            GetOperationStatistics_Result spResult           = db.GetOperationStatistics(orderFrom, fromDate, toDate).FirstOrDefault();

            Mapper.CreateMap <GetOperationStatistics_Result, OperationStatisticVm>().IgnoreAllNonExisting();
            Mapper.Map(spResult, operationStatistic);
            return(operationStatistic);
        }
Esempio n. 27
0
        internal static List <CustomClearanceListVm> GetCCOrdersList(int operationId, byte orderFrom)
        {
            OperationsEntities           db           = new OperationsEntities();
            EasyFreightEntities          db1          = new EasyFreightEntities();
            List <CustomClearanceListVm> ccOrdersList = db.CustomClearanceOrders.Include("HouseBill")
                                                        .Where(x => x.OperationId == operationId)
                                                        .Select(x => new CustomClearanceListVm
            {
                CCId             = x.CCId,
                ConsigneeId      = x.HouseBill.ConsigneeId,
                HouseBillId      = x.HouseBillId,
                HouseBL          = x.HouseBill.HouseBL,
                NeedArriveDate   = x.NeedArriveDate,
                NeedArriveTime   = x.NeedArriveTime,
                NumberOfPackages = x.HouseBill.NumberOfPackages,
                OperationCode    = x.HouseBill.OperationCode,
                ShipperId        = x.HouseBill.ShipperId,
                OperationId      = x.OperationId,
                StatusId         = x.StatusId
            }).ToList();

            if (orderFrom == 1) //Export .. client will be the shipper
            {
                List <int> shipperIds  = ccOrdersList.Select(x => x.ShipperId).ToList();
                var        shipperList = db1.Shippers
                                         .Where(x => shipperIds.Contains(x.ShipperId))
                                         .Select(x => new { x.ShipperId, x.ShipperNameEn, x.ShipperNameAr }).ToList();
                foreach (var item in ccOrdersList)
                {
                    item.ClientName = shipperList.Where(x => x.ShipperId == item.ShipperId).FirstOrDefault().ShipperNameEn;
                }
            }
            else //Export .. client will be consignee
            {
                List <int> consigneeIds  = ccOrdersList.Select(x => x.ConsigneeId).ToList();
                var        consigneeList = db1.Consignees
                                           .Where(x => consigneeIds.Contains(x.ConsigneeId))
                                           .Select(x => new { x.ConsigneeId, x.ConsigneeNameEn, x.ConsigneeNameAr }).ToList();
                foreach (var item in ccOrdersList)
                {
                    item.ClientName = consigneeList.Where(x => x.ConsigneeId == item.ConsigneeId).FirstOrDefault().ConsigneeNameEn;
                }
            }

            return(ccOrdersList);
        }
Esempio n. 28
0
        internal static ConcessionLetterVm GetDeliveryNoteInfo(int hbId, string langCode)
        {
            ConcessionLetterVm concLetterVm = new ConcessionLetterVm();
            OperationsEntities db           = new OperationsEntities();
            var hbView = db.HouseBillViews.Where(x => x.HouseBillId == hbId).Select(x => new
            {
                x.CarrierNameEn,
                x.FromPort,
                x.MBL,
                x.GrossWeight,
                x.CBM,
                x.ConsigneeNameEn,
                x.ToPort,
                x.CarrierType,
                x.NumberOfPackages,
                x.OperationId,
                x.VesselName,
                x.ArriveDate,
                x.HouseBL,
                x.GoodsDescription
            }).FirstOrDefault();

            int operId = hbView.OperationId;

            concLetterVm.CarrierName      = hbView.CarrierNameEn;
            concLetterVm.FromPort         = hbView.FromPort;
            concLetterVm.MBL              = hbView.MBL;
            concLetterVm.GrossWeight      = hbView.GrossWeight.Value;
            concLetterVm.CBM              = hbView.CBM.Value;
            concLetterVm.ConsigneeName    = hbView.ConsigneeNameEn;
            concLetterVm.Containers       = OperationHelper.GetContainersSummary(operId);
            concLetterVm.NumberOfPackages = hbView.NumberOfPackages.Value;
            concLetterVm.ToPort           = hbView.ToPort;
            concLetterVm.VesselName       = hbView.VesselName;
            concLetterVm.ArriveDate       = hbView.ArriveDate;
            concLetterVm.HouseBL          = hbView.HouseBL;
            concLetterVm.GoodsDescription = hbView.GoodsDescription;

            var containerList = db.OperationContainers.Where(x => x.OperationId == operId).Select(x => x.ContainerNumber).ToArray();

            concLetterVm.ContainerNumber = string.Join(" - ", containerList);

            concLetterVm.StaticLabels = CommonHelper.GetStaticLabels((int)StaticTextForScreenEnum.DeliveryNote, langCode);

            return(concLetterVm);
        }
Esempio n. 29
0
        public static TruckingOrderVm NewTruckingOrderByOperation(int operationId, byte orderFrom = 1, int houseBillId = 0)
        {
            EasyFreightEntities db        = new EasyFreightEntities();
            OperationsEntities  db1       = new OperationsEntities();
            TruckingOrderVm     trkoVmObj = new TruckingOrderVm(orderFrom);
            //Get House Bill status
            var hbInfo = db1.HouseBills.Where(x => x.HouseBillId == houseBillId)
                         .Select(x => new { x.StatusId, x.OperationDate }).FirstOrDefault();
            //Check if has trucking  order .. Get its details for edit
            TruckingOrder truckingOrderDb;

            if (hbInfo.StatusId == 3 || hbInfo.StatusId == 4)
            {
                truckingOrderDb = db.TruckingOrders
                                  .Where(x => x.HouseBillId == houseBillId && (x.StatusId == 3 || x.StatusId == 4)).FirstOrDefault();
            }
            else
            {
                truckingOrderDb = db.TruckingOrders
                                  .Where(x => x.HouseBillId == houseBillId && (x.StatusId == 1 || x.StatusId == 2)).FirstOrDefault();
            }

            if (truckingOrderDb != null)
            {
                Mapper.CreateMap <TruckingOrder, TruckingOrderVm>().IgnoreAllNonExisting();
                Mapper.Map(truckingOrderDb, trkoVmObj);
                trkoVmObj.OperationDate = hbInfo.OperationDate.Value;
            }
            else
            {
                var houseBillVm = HouseBillHelper.GetHbContent(operationId, orderFrom, houseBillId);

                Mapper.CreateMap <HouseBillVm, TruckingOrderVm>()
                .ForMember(x => x.StatusId, y => y.Ignore())
                .IgnoreAllNonExisting();
                Mapper.Map(houseBillVm, trkoVmObj);

                trkoVmObj.BookingNo = db1.Operations.Where(x => x.OperationId == operationId)
                                      .FirstOrDefault().BookingNumber;
            }

            return(trkoVmObj);
        }
Esempio n. 30
0
        internal static string AddEditHouseBill(HouseBillVm houseBillVm)
        {
            string             isSaved     = "true";
            int                houseBillId = houseBillVm.HouseBillId;
            OperationsEntities db          = new OperationsEntities();
            HouseBill          houseBillDb;

            if (houseBillId == 0)
            {
                houseBillDb = new HouseBill();
            }
            else
            {
                houseBillDb = db.HouseBills.Where(x => x.HouseBillId == houseBillId).FirstOrDefault();
            }

            Mapper.CreateMap <HouseBillVm, HouseBill>().IgnoreAllNonExisting();
            Mapper.Map(houseBillVm, houseBillDb);

            if (houseBillId == 0)
            {
                db.HouseBills.Add(houseBillDb);
                int       operationId  = houseBillDb.OperationId;
                Operation operationObj = db.Operations.Where(x => x.OperationId == operationId).FirstOrDefault();
                operationObj.StatusId = 2;
            }

            try
            {
                db.SaveChanges();
                isSaved = "true_" + houseBillDb.HouseBillId;
            }
            catch (DbEntityValidationException e)
            {
                isSaved = "false " + e.InnerException.InnerException;
            }
            catch (Exception e)
            {
                isSaved = "false " + e.InnerException.InnerException;
            }

            return(isSaved);
        }