Пример #1
0
		public static void AddPlanType(PlanType planType)
		{
			if (planType.DiscountTypes.Count == 0)
				throw new ManyToManyListEmptyException();
			
			CommonDAL.AddEntity<PlanType>(planType, p => p.Name == planType.Name
                                                    && p.Price == planType.Price
                                                    && p.Duration == planType.Duration);
		}
Пример #2
0
 public static void UpdatePlanType(PlanType planType)
 {
     CommonDAL.UpdateEntity<PlanType>(planType);
 }
        public HttpStatusMessageActionResult AddPlanType([FromBody]PlanTypeDTO planTypeDTO)
		{
			ApiStatusMessage statusMsg = new ApiStatusMessage();

			try
			{
                if (planTypeDTO.DiscountTypes == null)
                {
                    statusMsg.ApiStatusPlainText = ApiStatusMessages.PlanType_Add_Failure_DiscountTypes_Empty;
                    statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.ModelStateError;
                    statusMsg.Errors = new Dictionary<string, string[]>() {
                        {"DiscountTypes", new string[]{ ApiStatusMessages.PlanType_Add_Failure_DiscountTypes_Empty } }
                    };

					return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request);
				}

                PlanType planType = new PlanType()
                {
                    Name = planTypeDTO.Name,
                    Price = planTypeDTO.Price,
                    Duration = planTypeDTO.Duration,
                    DiscountTypes = planTypeDTO.DiscountTypes.Select(dt => new DiscountType()
                    {
                        Name = dt.Name,
                        ProductId = dt.Product.Id,
                        Rounds = dt.Rounds
                    }).ToList()
                };


                PlansModule.AddPlanType(planType);

				statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success;
				statusMsg.ApiStatusPlainText = ApiStatusMessages.PlanType_Add_Success;
			}
			catch (Exception e)
			{
				if (e is EntryAlreadyExistsException)
				{
					statusMsg.ApiStatusPlainText = ApiStatusMessages.PlanType_Add_Failure_PlanType_Already_Exists;
					statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError;
				}
				else
				{
					statusMsg.ApiStatusPlainText = ApiStatusMessages.PlanType_Add_Failure;
					statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError;
				}

				statusMsg.StackTrace = e.StackTrace;
			}

			return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request);
		}