public async Task <ActionResult <EmailDTO> > PostNew([FromBody] EmailSendDTO emailSend) { if (!loadHandlerEmail(Request)) { return(null); } Guid guid = Guid.NewGuid(); EmailMessage email = _handler.CrearEmail(guid, emailSend.Subject, emailSend.Body, emailSend.To, emailSend.Cc, emailSend.Bcc, emailSend.attachments); // Enviar correo if (_handler.Enviar(email)) { // Recuperar el Email enviado para recuperar algunos datos. email = _handler.FindEmailWithGUID(guid.ToString()); EmailLinkDTO emailLink = new EmailLinkDTO(); emailLink.emailId = email.Id.UniqueId; emailLink.empresasId = emailSend.empresasId; emailLink.maquinesMatricula = emailSend.maquinesMatricula; emailLink.projectesId = emailSend.projectesId; EmailDTO oEmail = _handler.ObtenerEmail(emailLink.emailId, true, true); //if (oEmail == null) return false; clsHandlerCorreu oHandlerCorreu = new clsHandlerCorreu(_context); Correu oCorreu = oHandlerCorreu.newCorreu(oEmail, emailLink); TryValidateModel(oCorreu); _context.Correus.Add(oCorreu); try { await _context.SaveChangesAsync(); _handler.saveFileEmail(oEmail.emailId, oEmail.guid); } catch (Exception ex) { string msg = ex.Message; } return(CreatedAtAction("GetEmaiId", new { id = email.Id.UniqueId }, oEmail)); } else { return(NoContent()); } }
public async Task <ActionResult <EmailDTO> > Put([FromQuery] int id, [FromBody] EmailLinkDTO emailLink) { if (!loadHandlerEmail(Request)) { return(null); } Correu oCorreu = await _context.Correus .Include(x => x.Empreses) .Include(x => x.Maquines) .Include(x => x.Projectes) .FirstOrDefaultAsync(x => x.CorreuId == id); //.FindAsync(id); if (oCorreu == null) { return(NotFound()); } //if (oCorreu.MissatgeId != oEmailLink.emailId) return BadRequest(); // TO DO Que comparas? clsHandlerCorreu oHandlerCorreu = new clsHandlerCorreu(_context); oHandlerCorreu.modCorreu(ref oCorreu, emailLink); _context.Entry(oCorreu).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CorreuExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <EmailDTO> > Delete([FromQuery] string id) { if (!loadHandlerEmail(Request)) { return(null); } _handler.moveTrash(id); Correu correu = _context.Correus.FirstOrDefault(x => x.EmailId == id); if (correu != null) { _context.Correus.Remove(correu); await _context.SaveChangesAsync(); clsHandlerCorreu oHandlerCorreu = new clsHandlerCorreu(_context); oHandlerCorreu.delCorreu(ref correu); } //if (email == null) return NotFound(); return(Ok()); }
public async Task <ActionResult <EmailDTO> > Post([FromQuery] string id, [FromBody] EmailLinkDTO emailLink)//, [FromBody] EmailDTO email) { if (!loadHandlerEmail(Request)) { return(null); } if (id != emailLink.emailId) { return(BadRequest()); } EmailDTO oEmail = _handler.ObtenerEmail(emailLink.emailId, true, true); //if (oEmail == null) return false; clsHandlerCorreu oHandlerCorreu = new clsHandlerCorreu(_context); Correu oCorreu = oHandlerCorreu.newCorreu(oEmail, emailLink); TryValidateModel(oCorreu); _context.Correus.Add(oCorreu); try { await _context.SaveChangesAsync(); // TO DO Guardar el correo _handler.saveFileEmail(oEmail.emailId, oEmail.guid); } catch (Exception ex) { string msg = ex.Message; } return(CreatedAtAction("GetEmaiId", new { id = id }, oEmail)); //email); }