public ActionResult ContractSave(MODEL.Contract contract) { try { if (ModelState.IsValid) { //Valiate the currency ValidateCurrency(contract); //to check whether EarlyTerminationDate is entered when AtRisk is Yes if ((contract.AtRisk == 0) || ((contract.AtRisk == 1) && (contract.EarlyTerminationDate != null))) { //Get user id int? userId = Session.GetUserId(); ContractService contractService = new ContractService(); //ContractVO contractVO = new ContractVO(contract, userId); ContractVO contractVO = contract.Transpose(userId); contractService.SaveContract(contractVO); //Get customer comment for the selected customer and company contract.CustomerComment = GetCustomerComment(contractVO.CompanyId, contractVO.InvoiceCustomerId); //Set the flag to identify if to reload the page. //If true means creating new contract and reload the page. //Else only update the contract header related details and remain on same page. bool isNewRecord = contract.ID <= 0 ? true : false; //return Json(new List<object>() { contractVO.CompanyId, contractVO.ID, isNewRecord }); return(Json(new List <object>() { contractVO.CompanyId, contractVO.ID, isNewRecord, contractVO.InvoiceCustomerId, contract.CustomerComment })); } else { return(new HttpStatusCodeAndErrorResult(500, String.Format(Constants.CANNOT_SAVE, Constants.CONTRACT))); } } else { foreach (var item in ModelState) { if (item.Key == "EarlyTerminationDate" && item.Value.Errors.Count > 0) { return(new HttpStatusCodeAndErrorResult(500, String.Format("Early Termination Date should be in dd/MM/yyyy format"))); } } return(new HttpStatusCodeAndErrorResult(500, String.Format(Constants.CANNOT_SAVE, Constants.CONTRACT))); } } catch (Exception e) { return(new HttpStatusCodeAndErrorResult(500, e.Message)); } }
public ActionResult SaveContractCopy(int contractId) { try { //Get user id int? userId = Session.GetUserId(); ContractService contractService = new ContractService(); ContractVO contractVO = new ContractVO(); contractVO = contractService.GetContractById(contractId); MODEL.Contract contract = new MODEL.Contract(contractVO); contractVO = contract.Transpose(userId); contractService.SaveCopyContract(contractVO, userId); //Get customer comment for the selected customer and company //contract.CustomerComment = GetCustomerComment(contractVO.CompanyId, contractVO.InvoiceCustomerId); return(new HttpStatusCodeResult(200)); } catch (Exception e) { return(new HttpStatusCodeAndErrorResult(500, e.Message)); } }