Inheritance: SaveFavouriteRequest
        public AddCategoryResult Save([FromBody] SaveCategoryRequest request)
        {
            try
            {
                if (request == null || request.Category == null)
                {
                    throw new ArgumentNullException(nameof(SaveCategoryRequest));
                }

                // Check if the current user is authorized to make this operation
                else
                {
                    CategoryManager.CheckIsUserAuthonticatedToEditDelete(User.GetUserId(), request.Category);
                }

                if (request.Category.IconName.CheckIsNull())
                {
                    request.Category.IconName = Guid.NewGuid().ToString();
                }
                CategoryManager.Add(request.Category);

                if (request.Category.Icon != null && request.Category.Icon.Length > 0)
                {
                    ImageExtensions.SaveImage(GetCategoryImagePath(request.Category.IconName), request.Category.Icon);
                }

                return(new AddCategoryResult()
                {
                });
            }
            catch (Exception ex)
            {
                return(new AddCategoryResult(ex));
            }
        }
        public async Task <ActionResult> Update(long id, [FromBody] SaveCategoryRequest entity)
        {
            try
            {
                var category = await context.Categories
                               .AsNoTracking()
                               .SingleOrDefaultAsync(t => t.Id == id);

                if (category == null)
                {
                    return(NotFound(id));
                }

                category = mapper.Map <Category>(entity);
                context.Update(category);
                await context.SaveChangesAsync();

                return(StatusCode(StatusCodes.Status204NoContent));
            }
            catch (DbUpdateConcurrencyException concurrencyEx)
            {
                logger.LogError(concurrencyEx.Message);
                return(StatusCode(StatusCodes.Status409Conflict, Constants.ErrorMessages.ConcurrencyErrorMessage));
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Example #3
0
        public override async Task <SaveCategoryResponse> SaveCategory(SaveCategoryRequest request, ServerCallContext context)
        {
            var result = await this.categoryService.SaveCategoryAsync(request.Category).ConfigureAwait(false);

            return(new SaveCategoryResponse()
            {
                Saved = result > 0
            });
        }
Example #4
0
        public JsonResult Save([FromBody] SaveCategoryRequest model)
        {
            var result = new SaveCategoryResult();

            result = ApiHelper <SaveCategoryResult> .HttpPostAsync(
                $"{Helper.ApiUrl}api/category/save",
                model
                );

            return(Json(new { result }));
        }
        public async Task <ActionResult <SaveCategoryRequest> > Create([FromBody] SaveCategoryRequest entity)
        {
            try
            {
                var category = mapper.Map <Category>(entity);
                await context.Categories.AddAsync(category);

                await context.SaveChangesAsync();

                return(CreatedAtRoute(nameof(GetCategoryById), new { id = category.Id }, entity));
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Example #6
0
 public async Task <SaveCategoryResult> Save(SaveCategoryRequest request)
 {
     try
     {
         DynamicParameters parameters = new DynamicParameters();
         parameters.Add("@CategoryId", request.CategoryId);
         parameters.Add("@CategoryName", request.CategoryName);
         return(await SqlMapper.QueryFirstOrDefaultAsync <SaveCategoryResult>(cnn: conn,
                                                                              sql: "sp_SaveCategory",
                                                                              param: parameters,
                                                                              commandType: CommandType.StoredProcedure));
     }
     catch (Exception ex)
     {
         return(new SaveCategoryResult()
         {
             CategoryId = 0,
             Message = "Something went wrong, please try again"
         });
     }
 }
Example #7
0
        /// <summary>
        /// <para>Performs the Favourites method:
        /// Save Category. POST
        /// </para>
        /// <para>Serializes the given SaveCategoryRequest into xml.</para>
        /// REQUIRES AUTHENTICATION.
        /// </summary>
        /// <param name="saveCategory">The object that will be serialized into xml and then sent in a POST message.</param>
        /// <returns>XDocument.</returns>
        public XDocument SaveCategory(SaveCategoryRequest saveCategory)
        {
            const string query = Constants.FAVOURITES + "/" + Constants.CATEGORY + Constants.XML;

            return(_connection.Post(saveCategory, query));
        }
Example #8
0
        /// <summary>
        /// <para>Performs the Favourites method:
        /// Save Category.
        /// </para>
        /// <para>Serializes the given SaveCategoryRequest into xml.</para>
        /// REQUIRES AUTHENTICATION.
        /// </summary>
        /// <param name="saveCategory">The object that will be serialized into xml and then sent in a POST message.</param>
        /// <returns>XDocument.</returns>
        public XDocument SaveCategory(SaveCategoryRequest saveCategory)
        {
            if (_favourites == null)
            {
                _favourites = new FavouriteMethods(_connection);
            }

            return _favourites.SaveCategory(saveCategory);
        }
 public async Task <SaveCategoryResult> Save(SaveCategoryRequest request)
 {
     return(await categoryService.Save(request));
 }
Example #10
0
 public async Task <SaveCategoryResult> Save(SaveCategoryRequest request)
 {
     return(await categoryRepository.Save(request));
 }
Example #11
0
        public ServiceResult SaveCategory([FromServices] ICategoryService categoryService, SaveCategoryRequest request)
        {
            var message = Mapper.Map <SaveCategoryMessage>(request);

            return(categoryService.Save(message));
        }
 /// <summary>
 /// <para>Performs the Favourites method:
 /// Save Category. POST
 /// </para>
 /// <para>Serializes the given SaveCategoryRequest into xml.</para>
 /// REQUIRES AUTHENTICATION.
 /// </summary>
 /// <param name="saveCategory">The object that will be serialized into xml and then sent in a POST message.</param>
 /// <returns>XDocument.</returns>
 public XDocument SaveCategory(SaveCategoryRequest saveCategory)
 {
     const string query = Constants.FAVOURITES + "/" + Constants.CATEGORY + Constants.XML;
     return _connection.Post(saveCategory, query);
 }