Example #1
0
        public static InstagramContractPlanService GetInstance()
        {
            //if (_instance == null)
            //{
            _instance = new InstagramContractPlanService();
            //}

            return(_instance);
        }
Example #2
0
        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);
        }