public ActionResult SaveModelData(tblCommissioning model, HttpPostedFileBase fileUnit, string create = null)
        {
            if (!ModelState.IsValid)
            {
                return(View("Create", model));
            }

            string message = string.Empty;

            try
            {
                if (fileUnit != null)
                {
                    string fileExtension = Path.GetExtension(fileUnit.FileName);
                    string FileName      = Guid.NewGuid().ToString() + fileExtension;
                    string physicalPath  = Path.Combine(Server.MapPath("~/Uploads"), FileName);
                    fileUnit.SaveAs(physicalPath);
                    model.CommissioningFileName = FileName;
                }

                if (model.CommissioningId > 0)
                {
                    model.ModifiedBy   = SessionHelper.UserId;
                    model.ModifiedDate = DateTime.Now;
                    message            = _dbRepository.Update(model);

                    if (model.IsWarrantyPeriodChange)
                    {
                        tblWarrantyexpires warrantyObj = _dbRepositoryWarranty.GetEntities().Where(m => m.CommissioningId == model.CommissioningId).FirstOrDefault();
                        if (warrantyObj != null)
                        {
                            warrantyObj.WarrantyExpireDate = model.WarrantyExpireDate;
                            _dbRepositoryWarranty.Update(warrantyObj);
                        }
                    }
                }
                else
                {
                    model.CreatedBy   = SessionHelper.UserId;
                    model.CreatedDate = DateTime.Now;
                    message           = _dbRepository.Insert(model);
                }
            }
            catch (Exception ex)
            {
                message = CommonHelper.GetErrorMessage(ex);
            }

            if (model.CommissioningId > 0)
            {
                if (create == "Save & Continue")
                {
                    return(RedirectToAction("Edit", new { id = model.CommissioningId }));
                }
                else if (create == "Save & New")
                {
                    return(RedirectToAction("Create"));
                }
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult FinalizePreCommission(int id)
        {
            try
            {
                tblCommissioning commissionobj = new tblCommissioning();
                //tblPreCommissioning precommiobj = _dbRepositoryPreC.GetEntities().Where(m => m.PreCommissioningId == PreCommisionId).Include(m => m.tblMachineModels).FirstOrDefault();
                tblPreCommissioningDetail precommisdetailobj = _dbRepositoryPreCD.GetEntities().FirstOrDefault(m => m.PCDetailId == id);
                tblPreCommissioning       precommiobj        = _dbRepositoryPreC.GetEntities().FirstOrDefault(m => m.PreCommissioningId == precommisdetailobj.PreCommissionId);

                if (precommisdetailobj.PCMachineId > 0)
                {
                    tblPreCommissioningMachine precommimachine = _dbPreMachine.GetEntities().Include(m => m.tblMachineModels)
                                                                 .FirstOrDefault(m => m.PCMachined == precommisdetailobj.PCMachineId);

                    commissionobj.MachineTypeId      = precommimachine.MachineTypeId;
                    commissionobj.MachineModelId     = precommimachine.MachineModeld;
                    commissionobj.MachineSerialNo    = precommimachine.MachineSerialNo;
                    commissionobj.WarrantyPeriod     = precommimachine.tblMachineModels.WarrantyPeriod;
                    commissionobj.WarrantyExpireDate = precommisdetailobj.PreCommisoningDate.AddMonths(precommimachine.tblMachineModels.WarrantyPeriod);
                }
                if (precommisdetailobj.PCAccesseriesId > 0)
                {
                    tblPreCommissioningAccessories precommiasseccory = _dbPreAccessory.GetEntities().Include(m => m.tblMachineAccessories)
                                                                       .FirstOrDefault(m => m.PCAccessoriesId == precommisdetailobj.PCAccesseriesId);

                    commissionobj.AccessoriesTypeId    = precommiasseccory.AccessoriesTypeId;
                    commissionobj.MachineAccessoriesId = precommiasseccory.MachineAccessoriesId;
                    commissionobj.AccessoriesSerialNo  = precommiasseccory.AccessoriesSerialNo;
                    commissionobj.WarrantyPeriod       = 6;
                    commissionobj.WarrantyExpireDate   = precommisdetailobj.PreCommisoningDate.AddMonths(6);
                }

                tblCustomerContactPersons contactPerson = _dbRepositoryContact.GetEntities().FirstOrDefault(m => m.ContactPersonId == precommiobj.ContactPersonId);

                commissionobj.CustomerId               = precommiobj.CustomerId;
                commissionobj.ContactPersonId          = precommiobj.ContactPersonId;
                commissionobj.ContactPersonContactNo   = contactPerson.ContactNo;
                commissionobj.PreCommissioningDetailId = precommisdetailobj.PCDetailId;
                commissionobj.ServiceEngineerId        = precommisdetailobj.ServiceEngineerId;
                commissionobj.CommissioningDate        = precommisdetailobj.PreCommisoningDate;
                commissionobj.IsConvertedToAMC         = false;
                commissionobj.IsReadyForAMC            = false;
                commissionobj.CreatedBy   = SessionHelper.UserId;
                commissionobj.CreatedDate = DateTime.Now;

                string result = _dbRepository.Insert(commissionobj);

                if (!string.IsNullOrEmpty(result))
                {
                    return(RedirectToAction("Edit", "PreCommissioning", new { id = id }));
                }
                tblWarrantyexpires warrantyObj = new tblWarrantyexpires();
                warrantyObj.CommissioningId        = commissionobj.CommissioningId;
                warrantyObj.CommissioningDate      = precommisdetailobj.PreCommisoningDate;
                warrantyObj.WarrantyExpireDate     = commissionobj.WarrantyExpireDate;
                warrantyObj.IsConvertIntoAMC       = false;
                warrantyObj.IsConvertIntoChargable = false;
                warrantyObj.CreatedBy   = SessionHelper.UserId;
                warrantyObj.CreatedDate = DateTime.Now;
                string resultWarranty = _dbRepositoryWarranty.Insert(warrantyObj);

                precommisdetailobj.IsCommisioning = true;
                _dbRepositoryPreCD.Update(precommisdetailobj);

                //precommiobj.IsCommissioningDone = true;
                //_dbRepositoryPreC.Update(precommiobj);

                return(RedirectToAction("Edit", "Commissioning", new { id = commissionobj.CommissioningId }));
            }
            catch (Exception ex)
            {
                string Message = CommonHelper.GetDeleteException(ex);
                return(RedirectToAction("Index", "Commissioning"));
            }
        }