示例#1
0
        /// <summary>
        /// creates new item with data
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        public async Task <ItemEntity> Create(ItemEntityFile item)
        {
            using (var db = new ItemDBContext())
            {
                string   Name          = item.Name;
                string   Description   = item.Description;
                DateTime SaleStartDate = item.SaleStartDate;
                string   ImageUrl      = item.ImageUrl;
                var      res           = await _repository
                                         .GetStoredProcedure("[dbo].[CreateItem]")
                                         .WithSqlParams(
                    (nameof(Name), Name),
                    (nameof(Description), Description),
                    (nameof(SaleStartDate), SaleStartDate),
                    (nameof(ImageUrl), ImageUrl))
                                         .ExecuteStoredProcedureAsync <ItemEntity>();

                return(res.FirstOrDefault());
            }
        }
        public async Task <ItemEntity> Update([FromForm] ItemEntityFile itemFile)
        {
            try
            {
                if (itemFile.File != null)
                {
                    string url = UploadFile.Upload(itemFile.File);
                    itemFile.ImageUrl = url;
                }
                var task = await _repository.Update(itemFile);

                return(task);
                // return CreatedAtAction(nameof(GetById), new { id = task.Id }, task);
            }
            catch (Exception ex)
            {
                {
                    _logger.LogError($"Something went wrong inside Create action: {ex.Message}");
                    //return StatusCode(StatusCodes.Status500InternalServerError, "Internal server error");
                    return(null);
                }
            }
        }