Esempio n. 1
0
        public string GetContainerStatus(smART.Model.Scale modelEntity, smART.Model.Container container, smART.Model.smARTDBContext dbContext)
        {
            string status = string.Empty;

            try
            {
                Model.Booking modBooking = container.Booking;
                smART.Model.DispatcherRequest modDispatcher = dbContext.T_Dispatcher.FirstOrDefault(m => m.Booking_Ref_No.ID == container.Booking.ID);

                if (modBooking != null && modBooking.Invoice_Generated_Flag == true)
                {
                    status = "Closed";
                }
                else if (modelEntity != null && modelEntity.Ticket_Status.ToLower() == "open")
                {
                    status = "WIP";
                }
                else if (modelEntity != null && modelEntity.Ticket_Status.ToLower() == "close")
                {
                    if (modDispatcher != null && modDispatcher.RequestType.ToLower() == "drop off only")
                    {
                        status = "Shipped";
                    }
                    else if (container.Status.ToLower() == "wip" || container.Status.ToLower() == "open-empty")
                    {
                        status = "Open-Loaded";
                    }
                    else
                    {
                        status = container.Status;
                    }
                }
                else if (modDispatcher != null && modDispatcher.RequestType.ToLower() == "pickup only")
                {
                    status = "Open-Empty";
                }
                else if (modDispatcher != null && modDispatcher.RequestType.ToLower() == "drop off only")
                {
                    if (modelEntity != null)
                    {
                        status = "Shipped";
                    }
                    else
                    {
                        status = "Open-Empty";
                    }
                }
            }
            catch (Exception ex)
            {
                bool rethrow;
                rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, modelEntity.Updated_By, modelEntity.GetType().Name, modelEntity.ID.ToString());
                if (rethrow)
                {
                    throw ex;
                }
            }

            return(status);
        }
Esempio n. 2
0
 public void UpdateContainer(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity, smART.Model.smARTDBContext dbContext)
 {
     try
     {
         if (modelEntity.Ticket_Type.ToLower() == "shipping ticket")
         {
             smART.Model.Container container = dbContext.T_Container_Ref.Include("Booking").FirstOrDefault(m => m.ID == modelEntity.Container_No.ID);
             container.Seal1_No     = modelEntity.Seal_No;
             container.Chasis_No    = modelEntity.Trailer_Chasis_No;
             container.Gross_Weight = modelEntity.Gross_Weight;
             container.Tare_Weight  = modelEntity.Tare_Weight;
             container.Net_Weight   = modelEntity.Net_Weight;
             container.Status       = GetContainerStatus(modelEntity, container, dbContext);
             dbContext.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         bool rethrow;
         rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, businessEntity.Updated_By, businessEntity.GetType().Name, businessEntity.ID.ToString());
         if (rethrow)
         {
             throw ex;
         }
     }
 }
Esempio n. 3
0
        public void UpdateScaleDetailNetWeight(smART.Model.Scale modelScale, smART.Model.smARTDBContext dbContext)
        {
            try
            {
                IEnumerable <smART.Model.ScaleDetails> scaleDetails = from scaledetail in dbContext.T_Scale_Details
                                                                      where scaledetail.Scale.ID == modelScale.ID
                                                                      select scaledetail;

                if (scaleDetails != null)
                {
                    foreach (var modelEntity in scaleDetails)
                    {
                        modelEntity.GrossWeight = modelScale.Gross_Weight * (modelEntity.Split_Value / 100);
                        modelEntity.TareWeight  = modelScale.Tare_Weight * (modelEntity.Split_Value / 100);
                        modelEntity.NetWeight   = modelEntity.GrossWeight - modelEntity.TareWeight - modelEntity.Contamination_Weight + modelEntity.Settlement_Diff_NetWeight;
                    }
                    dbContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                bool rethrow;
                rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, modelScale.Updated_By, modelScale.GetType().Name, modelScale.ID.ToString());
                if (rethrow)
                {
                    throw ex;
                }
            }
        }
Esempio n. 4
0
 public void Modifying(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity, smART.Model.smARTDBContext dbContext, out bool cancel)
 {
     if (!businessEntity.QScale)
     {
         UpdateScaleNetWeight(businessEntity, modelEntity);
     }
     cancel = false;
 }
Esempio n. 5
0
 public void Modified(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity, smART.Model.smARTDBContext dbContext)
 {
     UpdateContainer(businessEntity, modelEntity, dbContext);
     if (!businessEntity.QScale)
     {
         UpdateScaleDetailNetWeight(modelEntity, dbContext);
     }
     //Inventory(modelEntity, dbContext);
     //AuditLog(businessEntity, dbContext);
     //dbContext.SaveChanges();
 }
Esempio n. 6
0
        public string GetContainerStatus(smART.Model.Booking modBooking, smART.Model.DispatcherRequest modelEntity, smART.Model.smARTDBContext dbContext)
        {
            string status = string.Empty;

            try {
                smART.Model.Scale modScale = modelEntity.Container != null?dbContext.T_Scale.FirstOrDefault(s => s.Container_No.ID == modelEntity.Container.ID && s.Container_No.Active_Ind == true) : null;

                if (modBooking.Invoice_Generated_Flag == true)
                {
                    status = "Closed";
                }
                else if (modScale != null && modScale.Ticket_Status.ToLower() == "open")
                {
                    status = "WIP";
                }
                else if (modScale != null && modScale.Ticket_Status.ToLower() == "close")
                {
                    if (modelEntity.RequestType.ToLower() == "drop off only")
                    {
                        status = "Shipped";
                    }

                    else
                    {
                        status = "Open-Loaded";
                    }
                }
                else if (string.IsNullOrWhiteSpace(modelEntity.RequestType) || modelEntity.RequestType.ToLower() == "pickup only")
                {
                    status = "Open-Empty";
                }
                else if (modelEntity.RequestType.ToLower() == "drop off only")
                {
                    if (modScale != null)
                    {
                        status = "Shipped";
                    }
                    else
                    {
                        status = "Open-Empty";
                    }
                }
            }
            catch (Exception ex) {
                bool rethrow;
                rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, modelEntity.Updated_By, modelEntity.GetType().Name, modelEntity.ID.ToString());
                if (rethrow)
                {
                    throw ex;
                }
            }
            return(status);
        }
Esempio n. 7
0
 public void GotSingle(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity, smART.Model.smARTDBContext dbContext)
 {
     if (businessEntity != null)
     {
         if (businessEntity.Ticket_Type.Equals("Brokerage", StringComparison.InvariantCultureIgnoreCase))
         {
             businessEntity.Brokerage_Party          = businessEntity.Party_ID;
             businessEntity.Brokerage_Purchase_Order = businessEntity.Purchase_Order;
         }
         if (businessEntity.QScale)
         {
             IEnumerable <smART.Model.ScaleDetails> details = dbContext.T_Scale_Details.Where(s => s.Scale.ID == businessEntity.ID);
             if (details != null)
             {
                 businessEntity.Item_Amount = details.Sum(s => s.NetWeight * s.Rate);
             }
         }
     }
 }
Esempio n. 8
0
        //public void Added(smART.ViewModel.ScaleDetails businessEntity, smART.Model.ScaleDetails modelEntity, smART.Model.smARTDBContext dbContext) {
        //  //if (modelEntity.Scale != null && modelEntity.Scale.Ticket_Status.ToLower().Equals("close") && modelEntity.Apply_To_Item != null)
        //  //{
        //  //    AddInventory(modelEntity, dbContext);
        //  //    dbContext.SaveChanges();
        //  //}
        //}

        //public void Modified(smART.ViewModel.ScaleDetails businessEntity, smART.Model.ScaleDetails modelEntity, smART.Model.smARTDBContext dbContext) {
        //  //if (modelEntity.Scale != null && modelEntity.Scale.Ticket_Status.ToLower().Equals("close") && modelEntity.Apply_To_Item != null)
        //  //{
        //  //    AddInventory(modelEntity, dbContext);
        //  //    dbContext.SaveChanges();
        //  //}
        //}

        //public void Deleted(smART.ViewModel.ScaleDetails businessEntity, smART.Model.ScaleDetails modelEntity, smART.Model.smARTDBContext dbContext) {
        //  //IQueryable<smART.Model.ScaleDetails> scaleDetails = dbContext.Set<smART.Model.ScaleDetails>().AsQueryable().Where(o => o.ID == modelEntity.ID);

        //  //if (scaleDetails != null && scaleDetails.Count()>0)
        //  //{
        //  //    scaleDetails = scaleDetails.Include("Apply_To_Item");
        //  //    scaleDetails = scaleDetails.Include("Scale");

        //  //    smART.Model.ScaleDetails scaleDetail = scaleDetails.FirstOrDefault();

        //  //    if (scaleDetail.Scale != null && scaleDetail.Scale.Ticket_Status.ToLower().Equals("close") && scaleDetail.Apply_To_Item != null)
        //  //    {
        //  //        DeleteInventory(scaleDetail, dbContext);
        //  //    }
        //  //}
        //}

        public void UpdateWeight(smART.ViewModel.ScaleDetails businessEntity, smART.Model.ScaleDetails modelEntity, smART.Model.smARTDBContext dbContext, bool isDelete = false)
        {
            try {
                if (!modelEntity.Scale.QScale)
                {
                    modelEntity.GrossWeight = modelEntity.Scale.Gross_Weight * (modelEntity.Split_Value / 100);
                    modelEntity.TareWeight  = modelEntity.Scale.Tare_Weight * (modelEntity.Split_Value / 100);
                    modelEntity.NetWeight   = modelEntity.GrossWeight - modelEntity.TareWeight - modelEntity.Contamination_Weight + modelEntity.Settlement_Diff_NetWeight;
                }
                else
                {
                    IEnumerable <smART.Model.ScaleDetails> scaleDetails = from scaledetail in dbContext.T_Scale_Details
                                                                          where scaledetail.Scale.ID == businessEntity.Scale.ID && scaledetail.Active_Ind == true
                                                                          select scaledetail;
                    smART.Model.Scale scale = dbContext.T_Scale.FirstOrDefault(s => s.ID == businessEntity.Scale.ID);
                    if (scaleDetails != null)
                    {
                        scale.Gross_Weight = scaleDetails.Sum(s => s.GrossWeight);
                        scale.Tare_Weight  = scaleDetails.Sum(s => s.TareWeight);
                        scale.Net_Weight   = scaleDetails.Sum(s => s.NetWeight);

                        if (isDelete)
                        {
                            scale.Gross_Weight -= businessEntity.GrossWeight;
                            scale.Tare_Weight  -= businessEntity.TareWeight;
                            scale.Net_Weight   -= businessEntity.NetWeight;
                        }

                        dbContext.SaveChanges();
                    }
                }
            }
            catch (Exception ex) {
                bool rethrow;
                rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, modelEntity.Updated_By, modelEntity.GetType().Name, modelEntity.ID.ToString());
                if (rethrow)
                {
                    throw ex;
                }
            }
        }
Esempio n. 9
0
 public void DeleteSettlementScale(smART.ViewModel.Settlement businessEntity, smART.Model.Settlement modelEntity, smART.Model.smARTDBContext dbContext)
 {
     try {
         smART.Model.Scale scale = dbContext.T_Scale.FirstOrDefault(i => i.ID == modelEntity.Scale.ID);
         if (scale != null)
         {
             scale.Updated_By                = modelEntity.Updated_By;
             scale.Last_Updated_Date         = modelEntity.Last_Updated_Date;
             scale.Ticket_Settled            = false;
             scale.Settlement_Diff_NetWeight = 0;
             dbContext.SaveChanges();
         }
     }
     catch (Exception ex) {
         bool rethrow;
         rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, businessEntity.Updated_By, businessEntity.GetType().Name, businessEntity.ID.ToString());
         if (rethrow)
         {
             throw ex;
         }
     }
 }
Esempio n. 10
0
        public void Inventory(smART.Model.Scale modelScale, smART.Model.smARTDBContext dbContext)
        {
            try
            {
                IQueryable <smART.Model.ScaleDetails> scaleDetails = dbContext.Set <smART.Model.ScaleDetails>().AsQueryable().Where(o => o.Scale.ID == modelScale.ID);

                if (scaleDetails != null)
                {
                    scaleDetails = scaleDetails.Include("Apply_To_Item");

                    foreach (var modelEntity in scaleDetails)
                    {
                        modelEntity.Old_Net_Weight = modelEntity.NetWeight;
                        modelEntity.GrossWeight    = modelScale.Gross_Weight * (modelEntity.Split_Value / 100);
                        modelEntity.TareWeight     = modelScale.Tare_Weight * (modelEntity.Split_Value / 100);
                        modelEntity.NetWeight      = modelEntity.GrossWeight - modelEntity.TareWeight - modelEntity.Contamination_Weight + modelEntity.Settlement_Diff_NetWeight;

                        if (modelEntity.Scale != null && modelEntity.Scale.Ticket_Status.ToLower().Equals("close") && modelEntity.Apply_To_Item != null)
                        {
                            AddInventory(modelEntity, dbContext);
                        }
                    }

                    dbContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                bool rethrow;
                rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, modelScale.Updated_By, modelScale.GetType().Name, modelScale.ID.ToString());
                if (rethrow)
                {
                    throw ex;
                }
            }
        }
Esempio n. 11
0
 public void Added(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity, smART.Model.smARTDBContext dbContext)
 {
     UpdateContainer(businessEntity, modelEntity, dbContext);
     //AuditLog(businessEntity, dbContext);
     //dbContext.SaveChanges();
 }
Esempio n. 12
0
 public void UpdateScaleNetWeight(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity)
 {
     modelEntity.Net_Weight = modelEntity.Gross_Weight - modelEntity.Tare_Weight + modelEntity.Settlement_Diff_NetWeight;
 }