/// <summary> /// Processes the train settings. /// </summary> /// <param name="trainSettings">The train settings.</param> /// <param name="train">The train.</param> /// <returns></returns> private train ProcessTrainSettings(Trainsettings trainSettings, train train) { List<vessel> lstVessels = new List<vessel>(); train = trainSettings.Train; train.customer_customerID = Convert.ToInt32(this.Session["CustomerId"]); if (train.using_manifold == null) { train.using_manifold = "NO"; } var TrainInDB = this.modifiedCondRepository.GetTrainDetailsByCustomerIdandTrainId(train.trainID, train.customer_customerID); if (TrainInDB != null) { this.modifiedTrainRepository.UpdateTrain(train); } else { this.trainRepository.Insert(train); } this.trainRepository.SubmitChanges(); List<vessel> vessels = null; if (trainSettings.Train != null && trainSettings.Train.trainID != 0) { vessels = this.modifiedVesselRepository.FetchVesselsList(trainSettings.Train.trainID); } if (vessels == null || vessels.Count == 0) { using (TransactionScope scope = new TransactionScope()) { int vesselNumber = 0; foreach (vessel vessel in trainSettings.VesslsList) { try { vesselNumber = vesselNumber + 1; if (vessel.UpdateVessel == "True") { vessel.with_degassifier = vessel.Degasifier == true ? "1" : "0"; vessel.with_polisher = vessel.Polisher == true ? "1" : "0"; if (vesselNumber > 0 && vesselNumber < 5) { vessel.vessel_number = vesselNumber; if (vesselNumber == 1 || vesselNumber == 3) { vessel.bed_number = "1"; } else { vessel.bed_number = "2"; } } vessel.vesselID = this.modifiedVesselRepository.GetNewVesselId(); vessel.vessel_customerID = this.Session["CustomerId"].ToString(); vessel.train_trainID = train.trainID; int resinDataProductId = this.modifiedVesselRepository.GetResinId(vessel.ResinModel); vessel.resin_data_product_id = resinDataProductId; if (vessel.num_regens == null) { vessel.num_regens = "00"; } this.modifiedVesselRepository.InsertVessel(vessel); this.vesselRepository.SubmitChanges(); } else if (vessel.UpdateVessel == "False" && !string.IsNullOrEmpty(vessel.name)) { this.modifiedVesselRepository.DeleteVessel(vessel); } } catch { throw; } } scope.Complete(); } this.Session["HasTrainDetails"] = "Yes"; } else { train = trainSettings.Train; if (train.customer_customerID == 0) { train.customer_customerID = Convert.ToInt32(this.Session["CustomerId"]); } using (TransactionScope scope = new TransactionScope()) { int vesselNumber = 0; lstVessels = this.modifiedVesselRepository.FetchVesselsList(Convert.ToInt16(train.trainID)); int vesselcount = 0; foreach (vessel vessel in trainSettings.VesslsList) // This Updates the DB's Vessel Data with updated view information entered in by the user { vesselNumber = vesselNumber + 1; if (vessel.UpdateVessel == "True") { vessel.with_degassifier = vessel.Degasifier == true ? "1" : "0"; vessel.with_polisher = vessel.Polisher == true ? "1" : "0"; vessel.throughput = vessel.throughput == null ? "0" : vessel.throughput; int resinDataProductId = this.modifiedVesselRepository.GetResinId(vessel.ResinModel); vessel.resin_data_product_id = resinDataProductId; if (vesselNumber > 0 && vesselNumber < 5) { vessel.vessel_number = vesselNumber; if (vesselNumber == 1 || vesselNumber == 2) { vessel.bed_number = "1"; } else { vessel.bed_number = "2"; } } vessel.vessel_customerID = this.Session["CustomerId"].ToString(); vessel.train_trainID = train.trainID; // Ensure that all num-regens data is populated if(train.using_manifold == "NO") { vessel.num_regens = (lstVessels.ElementAt(vesselcount).num_regens) != null ? lstVessels.ElementAt(vesselcount).num_regens : "00"; // If we are not using a manifold store the previous manifold data (if it exists, otherwise store 00) vessel.throughput = (lstVessels.ElementAt(vesselcount).throughput) != null ? lstVessels.ElementAt(vesselcount).throughput : "00"; // If we are not using a manifold store the previous manifold data (if it exists, otherwise store 00) } else if (vessel.num_regens == null || vessel.throughput == null) { vessel.num_regens = "000"; vessel.throughput = "000"; } try { this.modifiedVesselRepository.UpdateVessel(vessel);//Delete vessel if its not being updated to DB } catch { throw; } } else if (vessel.UpdateVessel == "False" && !string.IsNullOrEmpty(vessel.name)) { this.modifiedVesselRepository.DeleteVessel(vessel); } vesselcount++; } scope.Complete(); } } return train; }
public ActionResult TrainSettings(Trainsettings trainSettings) { train train = new train(); try { train = ProcessTrainSettings(trainSettings, train); } catch { throw; } return RedirectToAction("DashBoard"); }
public string TrainSettingsWithoutRedirect(Trainsettings trainSettings) { train train = new train(); try { train = ProcessTrainSettings(trainSettings, train); return "true"; } catch { return "false"; throw; } }
/// <summary> /// Processes the train settings. /// </summary> /// <param name="trainSettings">The train settings.</param> /// <param name="train">The train.</param> /// <returns></returns> private train ProcessTrainSettings(Trainsettings trainSettings, train train) { train = trainSettings.Train; train.customer_customerID = Convert.ToInt32(this.Session["CustomerId"]); if (train.using_manifold == null) { train.using_manifold = "NO"; } var TrainInDB = this.modifiedCondRepository.GetTrainDetailsByCustomerIdandTrainId(train.trainID, train.customer_customerID); if (TrainInDB != null) { this.modifiedTrainRepository.UpdateTrain(train); } else { this.trainRepository.Insert(train); } this.trainRepository.SubmitChanges(); List<vessel> vessels = null; if (trainSettings.Train != null && trainSettings.Train.trainID != 0) { vessels = this.modifiedVesselRepository.FetchVesselsList(trainSettings.Train.trainID); } if (vessels == null || vessels.Count == 0) { using (TransactionScope scope = new TransactionScope()) { int vesselNumber = 0; foreach (vessel vessel in trainSettings.VesslsList) { try { vesselNumber = vesselNumber + 1; if (vessel.UpdateVessel == "True") { vessel.with_degassifier = vessel.Degasifier == true ? "1" : "0"; vessel.with_polisher = vessel.Polisher == true ? "1" : "0"; if (vesselNumber > 0 && vesselNumber < 5) { vessel.vessel_number = vesselNumber; if (vesselNumber == 1 || vesselNumber == 3) { vessel.bed_number = "1"; } else { vessel.bed_number = "2"; } } vessel.vesselID = this.modifiedVesselRepository.GetNewVesselId(); vessel.vessel_customerID = this.Session["CustomerId"].ToString(); vessel.train_trainID = train.trainID; int resinDataProductId = this.modifiedVesselRepository.GetResinId(vessel.ResinModel); vessel.resin_data_product_id = resinDataProductId; this.modifiedVesselRepository.InsertVessel(vessel); this.vesselRepository.SubmitChanges(); } else if (vessel.UpdateVessel == "False" && !string.IsNullOrEmpty(vessel.name)) { this.modifiedVesselRepository.DeleteVessel(vessel); } } catch { throw; } } scope.Complete(); } this.Session["HasTrainDetails"] = "Yes"; } else { train = trainSettings.Train; if (train.customer_customerID == 0) { train.customer_customerID = Convert.ToInt32(this.Session["CustomerId"]); } using (TransactionScope scope = new TransactionScope()) { int vesselNumber = 0; foreach (vessel vessel in trainSettings.VesslsList) { vesselNumber = vesselNumber + 1; if (vessel.UpdateVessel == "True") { vessel.with_degassifier = vessel.Degasifier == true ? "1" : "0"; vessel.with_polisher = vessel.Polisher == true ? "1" : "0"; vessel.throughput = vessel.throughput == null ? "0" : vessel.throughput; int resinDataProductId = this.modifiedVesselRepository.GetResinId(vessel.ResinModel); vessel.resin_data_product_id = resinDataProductId; if (vesselNumber > 0 && vesselNumber < 5) { vessel.vessel_number = vesselNumber; if (vesselNumber == 1 || vesselNumber == 2) { vessel.bed_number = "1"; } else { vessel.bed_number = "2"; } } vessel.vessel_customerID = this.Session["CustomerId"].ToString(); vessel.train_trainID = train.trainID; try { this.modifiedVesselRepository.UpdateVessel(vessel);//Delete vessel if its not being updated to DB } catch { throw; } } else if (vessel.UpdateVessel == "False" && !string.IsNullOrEmpty(vessel.name)) { this.modifiedVesselRepository.DeleteVessel(vessel); } } scope.Complete(); } } return train; }