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);
            }
        }