public static WebsiteContractItemService GetInstance() { //if (_instance == null) //{ _instance = new WebsiteContractItemService(); //} return(_instance); }
public WebsiteContract Save(WebsiteContract entity) { if (entity.Id == 0) { entity.ContractNo = GenerateContractNo(); } var errorList = new List <ValidationFailure>(); entity.ContractContext = new SystemParameterRepository().GetEntity(SystemParameterCodes.WebsiteContractContext)?.Value; SetLogInfo(entity); var errorEntity = ContractValidator.GetInstance().Validate(entity); errorList.AddRange(errorEntity.Errors); entity.WebsiteContractItems.ToList().ForEach(item => { var error = WebsiteContractItemValidator.GetInstance().Validate(item); WebsiteContractItemService.GetInstance().SetLogInfo(item); if (item.Date != null) { item.Date = Utility.ConvertToPersian(item.Date.ToString()); } //item.StartDate = DateTime.Now; //item.EndDate = item.StartDate.AddMonths(dur); errorList.AddRange(error.Errors); }); if (errorList.Count != 0) { throw new SpadException(string.Join(",", errorList.Select(s => s.ErrorMessage))); } var result = _repository.Save(entity); return(entity); }