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); }
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; } } }
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; } } }
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; }
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(); }
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); }
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); } } } }
//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; } } }
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; } } }
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; } } }
public void Added(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity, smART.Model.smARTDBContext dbContext) { UpdateContainer(businessEntity, modelEntity, dbContext); //AuditLog(businessEntity, dbContext); //dbContext.SaveChanges(); }
public void UpdateScaleNetWeight(smART.ViewModel.Scale businessEntity, smART.Model.Scale modelEntity) { modelEntity.Net_Weight = modelEntity.Gross_Weight - modelEntity.Tare_Weight + modelEntity.Settlement_Diff_NetWeight; }