public IActionResult Edit(OriginDTO dto) { try { if (dto.IdOrigin.HasValue) { _origin.Update(dto); return(RedirectToAction("Index")); } else { var res = _origin.Add(dto); return(RedirectToAction("Info", new { id = res })); } } catch (Exception e) { Console.WriteLine(e); //throw; return(View(dto)); } }
public OriginDTO GetById(Guid idOrigin) { var origin = _db.Origins .Include(x => x.MailAccount) .Include(x => x.AllowedSites) .Include(x => x.Destinies) .FirstOrDefault(x => x.IdOrigin == idOrigin); if (origin == null) { throw new InvalidOriginException(); } var res = new OriginDTO { IdOrigin = origin.IdOrigin, Subject = origin.Subject, Body = origin.Body, Description = origin.Description, IdMailAccount = origin.IdMailAccount, MailAccount = new MailAccountDTO(origin.MailAccount), Destinies = origin.Destinies.Select(x => new DestinyDTO(x)).ToList(), AllowedSites = origin.AllowedSites.Select(x => new AllowedSiteDTO(x)).ToList() }; return(res); }
public Guid Add(OriginDTO dto) { var origin = new Origin { IdOrigin = Guid.NewGuid(), Subject = dto.Subject, Body = dto.Body, Description = dto.Description, Signature = dto.Signature, IdMailAccount = dto.IdMailAccount }; _db.Origins.Add(origin); _db.SaveChanges(); return(origin.IdOrigin); }
public void Update(OriginDTO dto) { var origin = _db.Origins.Find(dto.IdOrigin); if (origin == null) { throw new InvalidOriginException(); } origin.Description = dto.Description; origin.Subject = dto.Subject; origin.Body = dto.Body; origin.Signature = dto.Signature; origin.IdMailAccount = dto.IdMailAccount; _db.Entry(origin).State = EntityState.Modified; _db.SaveChanges(); }
public IActionResult Edit(Guid?id) { if (id.HasValue) { var res = _origin.GetById(id.Value); res.MailAccounts = _mailAccount.SelectList(); return(View(res)); } else { var res = new OriginDTO { MailAccounts = _mailAccount.SelectList() }; return(View(res)); } }