public async Task <IActionResult> Create([Bind("Id,FirstName,LastName,Email,PhoneNumber")] Contact contact) { try { await _contactModel.AddContact(contact); return(View(contact)); } catch (Exception ex) { _logger.LogError($"{ ex.Message } {(ex.InnerException != null ? ex.InnerException.Message : string.Empty)} {ex.StackTrace}"); return(RedirectToAction(nameof(Error))); } }
public HttpResponseMessage Post([FromBody] ContactModel contactModel) { SaveEnum SaveEnum = SaveEnum.NotFound; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); try { if (contactModel != null && !string.IsNullOrEmpty(contactModel.FirstName) && !string.IsNullOrEmpty(contactModel.Email)) { string email = contactModel.Email; if (contactModel.IsEmailAlreadyExist(email)) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.Conflict); return(httpResponseMessage); } int MaxID = ContactModel.ContactsList.Max(x => x.Id); contactModel.Id = MaxID + 1; SaveEnum = contactModel.AddContact(contactModel); if (SaveEnum == SaveEnum.Success) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.Created); httpResponseMessage.Headers.Location = new Uri(Request.RequestUri + "/" + (contactModel.Id).ToString()); } else if (SaveEnum == SaveEnum.Error) { httpResponseMessage = Request.CreateResponse(404); } return(httpResponseMessage); } else { httpResponseMessage = Request.CreateResponse(HttpStatusCode.BadRequest); return(httpResponseMessage); } } catch (Exception ex) { httpResponseMessage = Request.CreateResponse(HttpStatusCode.BadRequest); httpResponseMessage.ReasonPhrase = ex.Message.ToString(); throw new HttpResponseException(httpResponseMessage); } }