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); }
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); }