public HttpStatusMessageActionResult UpdateProduct([FromBody]ProductDTO productDTO) { ApiStatusMessage statusMsg = new ApiStatusMessage(); try { Product product = new Product() { Id = productDTO.Id, Name = productDTO.Name, Price = productDTO.Price, ProductCode = productDTO.ProductCode, ImageUrl = productDTO.ImageUrl, BrandName = productDTO.BrandName, Description = productDTO.Description }; ProductsModule.UpdateProduct(product); statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Update_Success; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; } catch (Exception e) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Update_Failure; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }
public async Task<IHttpActionResult> DeleteImage(string fileName) { ApiStatusMessage statusMsg = new ApiStatusMessage(); if (!FileExists(fileName)) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Media_Not_Found_Error; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.MediaOperationError; return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); } try { var filePath = Directory.GetFiles(ImagesBaseDir, fileName) .FirstOrDefault(); await Task.Factory.StartNew(() => { if (filePath != null) File.Delete(filePath); }); statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; statusMsg.ApiStatusPlainText = ApiStatusMessages.Media_Delete_Operation_Success; } catch (Exception e) { statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.MediaOperationError; statusMsg.ApiStatusPlainText = ApiStatusMessages.Media_Delete_Operation_Error; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }
public HttpStatusMessageActionResult( HttpStatusCode httpStatusCode, ApiStatusMessage statusMessage, HttpRequestMessage request) { HttpStatusCode = httpStatusCode; StatusMessage = statusMessage; Request = request; }
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); }
public HttpGenericActionResult<ICollection<PlanTypeDTO>> GetAllPlanTypes(string locale) { ICollection<PlanType> planTypes = new List<PlanType>(); ICollection<PlanTypeDTO> planTypesDTO = new List<PlanTypeDTO>(); ApiResponseStatusCode apiResponseStatusCode; ApiStatusMessage StatusMsg = new ApiStatusMessage(); try { planTypes = PlansModule.GetAllPlanTypes(locale); if(planTypes == null) { throw new ArgumentNullException(); } planTypesDTO = planTypes.Select(pt => new PlanTypeDTO { Id = pt.Id, Name = pt.Name, Price = pt.Price, Duration = pt.Duration, DiscountTypes = pt.DiscountTypes.Select(dt => new DiscountTypeDTO { Id = dt.Id, Name = dt.Name, Rounds = dt.Rounds, Product = new ProductDTO() { Id = dt.Product.Id, Name = dt.Product.Name, Price = dt.Product.Price, Description = dt.Product.Description, ImageUrl = dt.Product.ImageUrl, BrandName = dt.Product.BrandName, ProductCode = dt.Product.ProductCode, } }).ToList() }) .ToList(); apiResponseStatusCode = ApiResponseStatusCode.Success; } catch (Exception e) { StatusMsg.StackTrace = e.InnerException.StackTrace; StatusMsg.ApiStatusPlainText = e.InnerException.Message; apiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; } return new HttpGenericActionResult<ICollection<PlanTypeDTO>>(apiResponseStatusCode, HttpStatusCode.Accepted, planTypesDTO, Request, StatusMsg); }
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { try { return await base.SendAsync(request, cancellationToken); } catch (Exception ex) { ApiStatusMessage StatusMsg = new ApiStatusMessage() { ApiStatusPlainText = ApiStatusMessages.API_Exception_MSG_DEFAULT, StackTrace = ex.StackTrace }; ApiResultWrapper<ApiStatusMessage> ErrorMsg = new ApiResultWrapper<ApiStatusMessage>(ApiResponseStatusCode.ModelStateError, StatusMsg); return request.CreateResponse(HttpStatusCode.OK, ErrorMsg); } }
public override void OnActionExecuting(HttpActionContext actionContext) { if (!actionContext.ModelState.IsValid && actionContext.Request.Method != HttpMethod.Get) { Dictionary<string, string[]> errors = actionContext.ModelState.Where(kvp => kvp.Value.Errors.Count > 0).ToDictionary( kvp => ExtractKeyPropertyOnly(kvp.Key), kvp => kvp.Value.Errors.Select(e => e.ErrorMessage) .ToArray()); ApiStatusMessage StatusMsg = new ApiStatusMessage() { ApiResponseStatusCode = ApiResponseStatusCode.ModelStateError, ApiStatusPlainText = ApiStatusMessages.Model_State_Error, Errors = errors }; actionContext.Response = actionContext.Request.CreateResponse<ApiStatusMessage>(HttpStatusCode.OK, StatusMsg); } }
public HttpGenericActionResult<ICollection<Product>> GetAll(string locale) { ICollection<Product> products = new List<Product>(); ApiResponseStatusCode apiResponseStatusCode; ApiStatusMessage StatusMsg = new ApiStatusMessage(); try { products = ProductsModule.GetAllProducts(locale); apiResponseStatusCode = ApiResponseStatusCode.Success; } catch (Exception e) { StatusMsg.StackTrace = e.InnerException.StackTrace; StatusMsg.ApiStatusPlainText = e.InnerException.Message; apiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; } return new HttpGenericActionResult<ICollection<Product>>(apiResponseStatusCode, HttpStatusCode.Accepted, products, Request, StatusMsg); }
public HttpStatusMessageActionResult UpdateTranslation([FromBody]Translation translation) { ApiStatusMessage statusMsg = new ApiStatusMessage(); try { TranslationsModule.UpdateTranslation(translation); statusMsg.ApiStatusPlainText = ApiStatusMessages.Translation_Update_Success; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; } catch (Exception e) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Translation_Update_Failure; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }
public HttpGenericActionResult<ICollection<Translation>> GetAll() { ICollection<Translation> translations = new List<Translation>(); ApiResponseStatusCode apiResponseStatusCode; ApiStatusMessage StatusMsg = new ApiStatusMessage(); try { translations = TranslationsModule.GetAllTranslations(); apiResponseStatusCode = ApiResponseStatusCode.Success; } catch (Exception e) { StatusMsg.StackTrace = e.InnerException.StackTrace; StatusMsg.ApiStatusPlainText = e.InnerException.Message; apiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; } return new HttpGenericActionResult<ICollection<Translation>>(apiResponseStatusCode, HttpStatusCode.Accepted, translations, Request, StatusMsg); }
public HttpStatusMessageActionResult AddProduct([FromBody]ProductDTO productDTO) { ApiStatusMessage statusMsg = new ApiStatusMessage(); try { Product product = new Product() { Name = productDTO.Name, Price = productDTO.Price, ProductCode = productDTO.ProductCode, ImageUrl = productDTO.ImageUrl, BrandName = productDTO.BrandName, Description = productDTO.Description }; ProductsModule.AddProduct(product); statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Add_Success; } catch (Exception e) { if (e is EntryAlreadyExistsException) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Add_Failure_Product_Already_Exists; } else { statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Add_Failure; } statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }
public IHttpActionResult UpdateCustomer([FromBody]CustomerDTO customerDTO) { ApiStatusMessage statusMsg = new ApiStatusMessage(); ICollection<Plan> plans = null; try { Customer customer = new Customer() { Id = customerDTO.Id, Name = customerDTO.Name, FamilyName = customerDTO.FamilyName, Street = customerDTO.Street, ZipCode = customerDTO.ZipCode, City = customerDTO.City, CountryCode = customerDTO.CountryCode, PhoneNumber = customerDTO.PhoneNumber, Email = customerDTO.Email }; //if (customerDTO.PlanTypes != null && customerDTO.PlanTypes.Count > 0) //{ // plans = customerDTO.PlanTypes.Select(pt => new Plan() // { // CustomerId = customer.Id, // PlanTypeId = pt.Id, // DateCreated = DateTime.Now, // DateEnds = DateTime.Now.AddDays(pt.Duration), // Discounts = pt.DiscountTypes.Select(dt => new Discount() // { // DiscountTypeId = dt.Id, // IsActive = false, // RoundsCounter = dt.Rounds, // DateCreated = DateTime.Now, // DateEnds = DateTime.Now.AddDays(pt.Duration) // }).ToList() // }) // .ToList(); //} CustomersModule.UpdateCustomer(customer, plans); statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; statusMsg.ApiStatusPlainText = ApiStatusMessages.Customer_Update_Success; } catch(Exception e) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Customer_Update_Failure; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }
/// <summary> /// Add a photo /// </summary> /// <returns></returns> public async Task<IHttpActionResult> AddImage() { ApiStatusMessage statusMsg = new ApiStatusMessage(); // Check if the request contains multipart/form-data. if (!Request.Content.IsMimeMultipartContent("form-data")) { statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.MediaOperationError; statusMsg.ApiStatusPlainText = ApiStatusMessages.Media_Not_Containing_Multipart_Error; return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); } try { CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(ImagesBaseDir); await Request.Content.ReadAsMultipartAsync(provider); statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; statusMsg.ApiStatusPlainText = ApiStatusMessages.Media_Save_Operation_Success; } catch (Exception e) { statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.MediaOperationError; statusMsg.ApiStatusPlainText = ApiStatusMessages.Media_Save_Operation_Error; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }
public HttpStatusMessageActionResult DeletePlanType(int id) { ApiStatusMessage statusMsg = new ApiStatusMessage(); try { PlansModule.DeletePlanType(id); statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; statusMsg.ApiStatusPlainText = ApiStatusMessages.PlanType_Delete_Success; } catch (Exception e) { if (e is RelatedEntityExistsException) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Related_Plan_Entity_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); }
public HttpStatusMessageActionResult DeleteProduct(int id) { ApiStatusMessage statusMsg = new ApiStatusMessage(); try { ProductsModule.DeleteProduct(id); statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.Success; statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Delete_Success; } catch (Exception e) { statusMsg.ApiStatusPlainText = ApiStatusMessages.Product_Delete_Failure; statusMsg.ApiResponseStatusCode = ApiResponseStatusCode.CRUDoperationError; statusMsg.StackTrace = e.StackTrace; } return new HttpStatusMessageActionResult(HttpStatusCode.Accepted, statusMsg, Request); }