Esempio n. 1
-22
        /// <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;
        }
Esempio n. 2
-22
        public ActionResult TrainSettings(Trainsettings trainSettings)
        {
            train train = new train();
            try
            {
                train = ProcessTrainSettings(trainSettings, train);
            }
            catch
            {
                throw;
            }

            return RedirectToAction("DashBoard");
        }
Esempio n. 3
-22
 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;
        }