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 GetCorreosBecarioPendientesEnvioResponse GetCorreosPendientesEnvio() { var response = new GetCorreosBecarioPendientesEnvioResponse(); try { var correos = _correoBecarioRepository.GetByCriteria(x => x.Enviado == false && x.IsActivo == true); response.Correos = CorreoBecarioMapper.ConvertToCorreoBecarioRowViewModel(correos); response.IsValid = true; } catch (Exception ex) { response.IsValid = false; response.ErrorMessage = ex.Message; } return(response); }
public GetCorreoByBecarioPlantillaResponse GetCorreoByBecarioPlantilla(int BecarioId, int PlantillaId) { var response = new GetCorreoByBecarioPlantillaResponse(); try { IQueryable <CorreoBecario> correos; correos = _correoBecarioRepository.GetByCriteria(x => x.BecarioId == BecarioId && x.PlantillaId == PlantillaId); response.Correos = CorreoBecarioMapper.ConvertToCorreoBecarioRowViewModel(correos); response.TotalElementos = response.Correos.Count(); response.IsValid = true; } catch (Exception ex) { response.IsValid = false; response.ErrorMessage = ex.Message; } return(response); }