Ejemplo n.º 1
0
        public HttpResponseMessage Create(HttpRequestMessage request, FocusNotificationViewModel vm)
        {
            return(CreateHttpRespond(request, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState);
                }
                var focus = new FocusNotification();
                focus.UpdateFocus(vm);
                focus.CreatedDate = DateTime.Now;
                _focusRepository.Add(focus);
                _unitOfWork.Commit();

                var responseData = Mapper.Map <FocusNotification, FocusNotificationViewModel>(focus);
                response = request.CreateResponse(HttpStatusCode.Created, responseData);
                return response;
            }));
        }
Ejemplo n.º 2
0
        public HttpResponseMessage Update(HttpRequestMessage request, FocusNotificationViewModel focusVM)
        {
            return(CreateHttpRespond(request, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState);
                }
                else
                {
                    var focus = _focusRepository.GetSingleById(focusVM.ID);

                    focus.UpdateFocus(focusVM);

                    _focusRepository.Update(focus);
                    try
                    {
                        _unitOfWork.Commit();
                    }
                    catch (DbEntityValidationException e)
                    {
                        foreach (var eve in e.EntityValidationErrors)
                        {
                            Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                              eve.Entry.Entity.GetType().Name, eve.Entry.State);
                            foreach (var ve in eve.ValidationErrors)
                            {
                                Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                  ve.PropertyName, ve.ErrorMessage);
                            }
                        }
                        throw;
                    }
                    var responseData = Mapper.Map <FocusNotification, FocusNotificationViewModel>(focus);
                    response = request.CreateResponse(HttpStatusCode.Created, responseData);
                }

                return response;
            }));
        }