public async Task <IHttpActionResult> SaveMediaEmail(MediaEmailSaveModel model) { var userId = User.Identity.GetUserId <int>(); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var taskResult = await repository.SaveMediaEmail(model); return(Ok(taskResult)); }
public async Task <bool> SaveMediaEmail(MediaEmailSaveModel model) { bool result = false; try { await Task.Run(async() => { using (var context = new SocialCRMEntities()) { if (model.Id > 0) { await DeleteMediaEmail(model.Id.Value); } if (context.Emails.Where(x => x.EmailId == model.EmailId).Count() <= 0) { Email emailObj = new Email(); emailObj.EmailId = model.EmailId; if (!String.IsNullOrEmpty(model.Rights)) { var rightIds = model.Rights.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); foreach (var item in rightIds) { emailObj.EmailRights.Add(context.EmailRights.Find(item)); } } context.Emails.Add(emailObj); context.SaveChanges(); result = true; } } }); } catch (Exception ex) { result = false; } return(result); }