public static void UpdateCorreo(this CorreoBecario correo, CorreoBecarioRowViewModel createEditCorreoViewModel, int usuarioAplicacion) { if (createEditCorreoViewModel.CorreoId > 0) { correo.CorreoBecarioId = (int)createEditCorreoViewModel.CorreoId; correo.ModifiedBy = usuarioAplicacion; correo.Modified = DateTime.Now; } else { correo.CreatedBy = usuarioAplicacion; correo.Created = DateTime.Now; } correo.Asunto = createEditCorreoViewModel.Asunto; if (createEditCorreoViewModel.BecarioId > 0) { correo.BecarioId = createEditCorreoViewModel.BecarioId; } correo.Enviado = createEditCorreoViewModel.Enviado; if (createEditCorreoViewModel.FechaEnvio != null) { correo.FechaEnvio = createEditCorreoViewModel.FechaEnvio; } correo.PlantillaId = createEditCorreoViewModel.PlantillaId; correo.Remitente = createEditCorreoViewModel.Remitente; correo.Destinatarios = createEditCorreoViewModel.Destinatarios; correo.IsActivo = createEditCorreoViewModel.Activo; correo.TipoAviso = createEditCorreoViewModel.TipoAviso; }
private CorreoBecario Save(CorreoBecarioRowViewModel createEditCorreoViewModel, int usuarioAplicacion) { var correo = new CorreoBecario(); correo.UpdateCorreo(createEditCorreoViewModel, usuarioAplicacion); var newCorreo = _correoBecarioRepository.Create(correo); return(newCorreo); }
public StringBuilder EnviarEmailBecario(NameValueCollection DiccEstadoBecarioPlantillaCorreo, NameValueCollection DiccConfiguracionServidorCorreo, int usuarioAplicacion) { _DiccConfiguracionServidorCorreo = DiccConfiguracionServidorCorreo; int CentroId = 0; int tipoMedioContactoEmail = GetTipoMedioContactoEmail(); StringBuilder resultadoEnvio = new StringBuilder(); var IteradorEstadosEmails = DiccEstadoBecarioPlantillaCorreo.AllKeys.GetEnumerator(); var response = _becarioService.GetBecariosEstadoDescartado(); while (IteradorEstadosEmails.MoveNext()) { if (response.IsValid) { foreach (var becario in response.BecarioRowViewModel) { CentroId = _becarioService.GetCentroBecario(becario.BecarioId).CentroId; var responsePlantilla = _correoPlantillaService.GetPlantillaIdByNombrePlantilla(DiccEstadoBecarioPlantillaCorreo[IteradorEstadosEmails.Current.ToString()], CentroId); if (responsePlantilla.IsValid) { if (!ExisteCorreo(becario.BecarioId, responsePlantilla.PlantillaId)) { var responseEmailBecario = _becarioService.GetEmailBecario(becario.BecarioId, tipoMedioContactoEmail); var responseAsunto = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(responsePlantilla.PlantillaId, NombresVariablesPlantillaCorreoEnum.Asunto.ToString()); var responseRemitente = _correoPlantillaVariableService.GetValorDefectoNombreVariablePlantillaCorreo(responsePlantilla.PlantillaId, NombresVariablesPlantillaCorreoEnum.Remitente.ToString()); if (responseEmailBecario.IsValid && responseAsunto.IsValid && responseRemitente.IsValid) { CorreoBecario correoBecario = new CorreoBecario() { PlantillaId = responsePlantilla.PlantillaId, Enviado = false, BecarioId = becario.BecarioId, Asunto = responseAsunto.VarlorDefecto, Remitente = responseRemitente.VarlorDefecto, Destinatarios = responseEmailBecario.EmailBecario, TipoAviso = null, IsActivo = true }; var model = CorreoBecarioMapper.ConvertToCorreoBecarioRowViewModel(correoBecario); var responseSave = _correoBecarioService.SaveCorreo(model, usuarioAplicacion); } } } } } } resultadoEnvio = resultadoEnvio.Append(ExecuteSendMailsEstadosCandidatura(DiccEstadoBecarioPlantillaCorreo, usuarioAplicacion)); return(resultadoEnvio); }
public static CorreoBecarioRowViewModel ConvertToCorreoBecarioRowViewModel(this CorreoBecario Correo) { var CorreoRowViewModel = new CorreoBecarioRowViewModel() { CorreoId = Correo.CorreoBecarioId, BecarioId = Correo.BecarioId, Asunto = Correo.Asunto, Destinatarios = Correo.Destinatarios, PlantillaId = Correo.PlantillaId, Remitente = Correo.Remitente, Enviado = Correo.Enviado, FechaEnvio = Correo.FechaEnvio, Activo = Correo.IsActivo, TipoAviso = Correo.TipoAviso }; return(CorreoRowViewModel); }