public ActionResult GenerateAMCQuotation(AMCQuotationPartialModel model)
        {
            if (model.CommissioningId != 0)
            {
                bool isExists = _dbRepositoryAMCQ.GetEntities().Any(m => m.CommissioningId == model.CommissioningId &&
                                                                    m.ActualAmount == model.QuotationAmount &&
                                                                    m.GSTPercentage == model.GSTPercentage);

                if (isExists)
                {
                    return(Json(new { id = String.Empty, error = "Quotation with same amount & GST percentage already exists." }, JsonRequestBehavior.AllowGet));
                }
                tblCommissioning          commissioningObj       = _dbRepository.SelectById(model.CommissioningId);
                tblPreCommissioningDetail preCommissioningDetail = _dbRepositoryPreCD.GetEntities()
                                                                   .Where(m => m.PCDetailId == commissioningObj.PreCommissioningDetailId)
                                                                   .Include(m => m.tblPreCommissioning).FirstOrDefault();

                tblAMCQuotation quotatationObj = new tblAMCQuotation();
                quotatationObj.CommissioningId    = commissioningObj.CommissioningId;
                quotatationObj.MachineModelId     = commissioningObj.MachineModelId.Value;
                quotatationObj.MachineTypeId      = commissioningObj.MachineTypeId.Value;
                quotatationObj.MachineSerialNo    = commissioningObj.MachineSerialNo;
                quotatationObj.CustomerId         = preCommissioningDetail.tblPreCommissioning.CustomerId;
                quotatationObj.QuotationDate      = DateTime.Now.Date;
                quotatationObj.ActualAmount       = model.QuotationAmount;
                quotatationObj.GSTPercentage      = model.GSTPercentage;
                quotatationObj.GSTAmount          = model.GSTAmount;
                quotatationObj.CGSTPercentage     = model.GSTPercentage / 2;
                quotatationObj.CGSTAmount         = model.GSTAmount / 2;
                quotatationObj.TotalAmount        = model.TotalAmount;
                quotatationObj.TotalAmountInWords = CurrencyHelper.changeCurrencyToWords(model.TotalAmount);
                quotatationObj.IsConvertedIntoAMC = false;
                quotatationObj.CreatedBy          = SessionHelper.UserId;
                quotatationObj.CreatedDate        = DateTime.Now.Date;
                string result = _dbRepositoryAMCQ.Insert(quotatationObj);
                if (string.IsNullOrEmpty(result))
                {
                    return(Json(new { id = quotatationObj.Id.ToString(), error = String.Empty }, JsonRequestBehavior.AllowGet));
                }
            }
            return(Json(new { id = String.Empty, error = "Something Went Wrong." }, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public ActionResult KendoSave([DataSourceRequest] DataSourceRequest request, GetPreCommisioningDetailData_Result obj)
        {
            if (obj == null || !ModelState.IsValid)
            {
                return(Json(new[] { obj }.ToDataSourceResult(request, ModelState)));
            }

            string message = string.Empty;

            tblPreCommissioningDetail model = new tblPreCommissioningDetail();

            model.PCDetailId            = obj.PCDetailId;
            model.PCMachineId           = obj.PCMachineId;
            model.PCAccesseriesId       = obj.PCAccesseriesId;
            model.PCMachineIdList       = obj.PCMachineIdList;
            model.PCAccessoryIdList     = obj.PCAccessoryIdList;
            model.PreCommisoningDate    = obj.PreCommisoningDate;
            model.ServiceEngineerId     = obj.ServiceEngineerId;
            model.PrecommisioningRemark = obj.PrecommisioningRemark;
            model.PreCommissionId       = obj.PreCommissionId;

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

            else
            {
                model.CreatedBy   = SessionHelper.UserId;
                model.CreatedDate = DateTime.Now;
                if (model.PCAccessoryIdList != null && model.PCAccessoryIdList.Count > 0)
                {
                    foreach (int id in model.PCAccessoryIdList)
                    {
                        tblPreCommissioningDetail oldAccessory = _dbRepository.GetEntities().Where(m => m.PreCommissionId == model.PreCommissionId && m.PCAccesseriesId == id && m.IsLatest == true).FirstOrDefault();
                        if (oldAccessory != null)
                        {
                            oldAccessory.IsLatest = false;
                            _dbRepository.Update(oldAccessory);
                        }

                        model.PCMachineId     = null;
                        model.PCAccesseriesId = id;
                        model.IsLatest        = true;
                        message = _dbRepository.Insert(model);
                    }
                }

                if (model.PCMachineIdList != null && model.PCMachineIdList.Count > 0)
                {
                    foreach (int id in model.PCMachineIdList)
                    {
                        tblPreCommissioningDetail oldMachine = _dbRepository.GetEntities().Where(m => m.PreCommissionId == model.PreCommissionId && m.PCMachineId == id && m.IsLatest == true).FirstOrDefault();
                        if (oldMachine != null)
                        {
                            oldMachine.IsLatest = false;
                            _dbRepository.Update(oldMachine);
                        }

                        model.PCAccesseriesId = null;
                        model.PCMachineId     = id;
                        model.IsLatest        = true;
                        message = _dbRepository.Insert(model);
                    }
                }
            }

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

            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"));
            }
        }