public ActionResult KendoSave([DataSourceRequest] DataSourceRequest request, tblPreCommissioningMachine model)
        {
            if (model == null || !ModelState.IsValid)
            {
                return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
            }

            string message = string.Empty;

            if (model.PCMachined > 0)
            {
                model.ModifiedBy   = SessionHelper.UserId;
                model.ModifiedDate = DateTime.Now;
                message            = _dbRepository.Update(model);
            }
            else
            {
                model.CreatedBy   = SessionHelper.UserId;
                model.CreatedDate = DateTime.Now;
                message           = _dbRepository.Insert(model);
            }

            ModelState.Clear();
            if (!string.IsNullOrEmpty(message))
            {
                ModelState.AddModelError("MachineSerialNo", message);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult KendoDestroy([DataSourceRequest] DataSourceRequest request, tblPreCommissioningMachine model)
        {
            string deleteMessage = _dbRepository.Delete(model.PCMachined);

            ModelState.Clear();
            if (!string.IsNullOrEmpty(deleteMessage))
            {
                ModelState.AddModelError(deleteMessage, deleteMessage);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
        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"));
            }
        }