示例#1
0
 public ShapesDTO AddShape(ShapesRequest request)
 {
     try
     {
         using (var scope = new TransactionScope())
         {
             var shape = new Shapes
             {
                 Title       = request.Title,
                 Area        = request.Area,
                 Description = request.Description,
                 Latitude    = request.Latitude,
                 Longitude   = request.Longitude,
                 ShapeType   = request.ShapeType,
                 CreatedDate = DateTime.Now,
                 UpdatedDate = DateTime.Now
             };
             _unitOfWork.Shapes.Add(shape);
             _unitOfWork.SaveChanges();
             scope.Complete();
             return
                 (_mapper.Map <Shapes, ShapesDTO>
                      (shape));
         }
     }
     catch (Exception exception)
     {
         Console.WriteLine(exception);
         throw;
     }
 }
        public IActionResult Post([FromBody] ShapesRequest request)
        {
            var response = new SingleResponse <ShapesDTO>();

            try
            {
                if (request == null)
                {
                    response.Messages = ResponseMessages.BadRequest();
                    return(NotFound(response));
                }
                if (!ModelState.IsValid)
                {
                    response.Messages = ResponseMessages.ModelValidate(ModelState);
                    return(UnprocessableEntity(response));
                }

                var result = _shapesLogic.AddShape(request);

                response.Messages = ResponseMessages.Created();
                response.Model    = result;
                return(CreatedAtRoute("GetShapeByid",
                                      new { id = result.ShapeId },
                                      response));
            }
            catch (Exception exception)
            {
                response.Messages = ResponseMessages.InternalServerError(exception.ToString());
                return(StatusCode(500, response));
            }
        }