public async Task <IHttpActionResult> Createemail() { ResponseDataDTO <email> response = new ResponseDataDTO <email>(); try { var path = Path.GetTempPath(); if (!Request.Content.IsMimeMultipartContent("form-data")) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType)); } MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider(path); await Request.Content.ReadAsMultipartAsync(streamProvider); // get data from formdata EmailCreateViewModel emailCreateViewModel = new EmailCreateViewModel { ema_username = Convert.ToString(streamProvider.FormData["ema_username"]), ema_password = Convert.ToString(streamProvider.FormData["ema_password"]), ema_api = Convert.ToString(streamProvider.FormData["ema_api"]), ema_pop_or_imap_server = Convert.ToString(streamProvider.FormData["ema_pop_or_imap_server"]), ema_smtp_server = Convert.ToString(streamProvider.FormData["ema_smtp_server"]), ema_note = Convert.ToString(streamProvider.FormData["ema_note"]), company_id = Convert.ToInt32(streamProvider.FormData["company_id"]), ema_pop_or_imap_port = Convert.ToInt32(streamProvider.FormData["ema_pop_or_imap_port"]), ema_smtp_port = Convert.ToInt32(streamProvider.FormData["ema_smtp_port"]), }; // mapping view model to entity var createdemail = _mapper.Map <email>(emailCreateViewModel); // save new email _emailservice.Create(createdemail); // return response response.Code = HttpCode.OK; response.Message = MessageResponse.SUCCESS; response.Data = createdemail; return(Ok(response)); } catch (Exception ex) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = ex.Message; response.Data = null; Console.WriteLine(ex.ToString()); return(Ok(response)); } }
/// <summary> /// /// </summary> /// <param name="viewModel"></param> /// <returns></returns> public async Task CreateByViewModelAsync(EmailCreateViewModel viewModel) { // Check if (viewModel == null) { throw new ArgumentNullException(nameof(viewModel)); } // Process var social = _mapper.Map <Email>(viewModel); _emails.Add(social); await _unitOfWork.SaveAllChangesAsync(auditUserId : _httpContextManager.CurrentUserId()); }