public InstagramContract Save(InstagramContract entity) { if (entity.Id == 0) { entity.ContractNo = GenerateContractNo(); } var errorList = new List <ValidationFailure>(); entity.ContractContext = new SystemParameterRepository().GetEntity(SystemParameterCodes.InstagramContractContext)?.Value; SetLogInfo(entity); var errorEntity = ContractValidator.GetInstance().Validate(entity); errorList.AddRange(errorEntity.Errors); entity.InstagramContractPlans.ToList().ForEach(item => { var error = InstagramContractPlanValidator.GetInstance().Validate(item); InstagramContractPlanService.GetInstance().SetLogInfo(item); var dur = Convert.ToInt32(item.DurationTitle.Replace("ماه", "").Trim()); if (item.StartDate != null) { item.StartDate = Utility.ConvertToPersian(item.StartDate.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); }
public Contract Save(Contract entity) { if (entity.Id == 0) { entity.ContractNo = GenerateContractNo(); } var errorList = new List <ValidationFailure>(); entity.ContractContext = new SystemParameterRepository().GetEntity(SystemParameterCodes.InstagramContractContext)?.Value; SetLogInfo(entity); var errorEntity = ContractValidator.GetInstance().Validate(entity); errorList.AddRange(errorEntity.Errors); //entity.instagramContractPlans.ToList().ForEach(item => //{ // var error = ContractPlanValidator.GetInstance().Validate(item); // ContractPlanService.GetInstance().SetLogInfo(item); // item.StartDate = DateTime.Now; // item.EndDate = DateTime.Now; // 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); }