public HttpResponseMessage PutContact(int id, ContactDto contactDto) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } var model = contactDto.ToEntity(); if (db.Entry(model).Entity.UserId != User.Identity.Name) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } else { model.UserId = User.Identity.Name; } db.Entry(model).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } return(Request.CreateResponse(HttpStatusCode.OK)); }
public HttpResponseMessage PutUser(long id, ContactDto contactDto) { // Check valid parameter if (!contactDto.ContactId.Equals(id)) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound, INVALID_PARAMEATER)); } using (var db = new MishWishEntities()) { // Get original contact detail. var contactUser = db.Contacts.FirstOrDefault(u => u.ContactId == id); // Check contact is exist or not if (contactUser == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, USER_NOT_FOUND)); } // Convert user DTO to entity. var contactEntity = contactDto.ToEntity(); try { db.Entry(contactUser).CurrentValues.SetValues(contactEntity); db.SaveChanges(); } catch (DbUpdateException ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, REQUIRED_FIELD)); } catch (Exception exGeneral) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, exGeneral.GetType().ToString())); } // Bind return Contact DTO. ContactDto returnUser = new ContactDto(contactEntity) { Message = USER_SUCCESS_UPDATED }; HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, returnUser); return(response); } }
public void Create(ContactDto contact) { ValidateContact(contact); _unitOfWork.BeginTransaction(); var repository = _unitOfWork.GetRepository <IContactRepository>(); if (repository.GetByPhoneNumber(contact.PhoneNumber) != null) { throw new PhonebookException("Contact with this phone number already exists"); } repository.Create(contact.ToEntity()); _unitOfWork.Save(); }
public HttpResponseMessage PostContact(ContactDto contactDto) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } var model = contactDto.ToEntity(); model.UserId = User.Identity.Name; db.Contacts.Add(model); db.SaveChanges(); contactDto.ContactId = model.ContactId; HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, contactDto); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = contactDto.ContactId })); return(response); }
public HttpResponseMessage PostContact(ContactDto contactDto) { if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } using (var db = new MishWishEntities()) { // Convert contact DTO to entity. var contactEntity = contactDto.ToEntity(); try { db.Contacts.Add(contactEntity); db.SaveChanges(); } catch (DbUpdateException) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, REQUIRED_FIELD)); } catch (Exception exGeneral) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, exGeneral.GetType().ToString())); } // Bind return contact DTO. ContactDto returnUser = new ContactDto(contactEntity) { Message = USER_SUCCESS_MESSAGE }; HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, returnUser); return(response); } }