public static void UpdateCorreo(this Correo correo, CorreoRowViewModel createEditCorreoViewModel, int usuarioAplicacion)
        {
            if (createEditCorreoViewModel.CorreoId > 0)
            {
                correo.CorreoId = (int)createEditCorreoViewModel.CorreoId;

                correo.ModifiedBy = usuarioAplicacion;
                correo.Modified   = DateTime.Now;
            }
            else
            {
                correo.CreatedBy = usuarioAplicacion;
                correo.Created   = DateTime.Now;
            }
            correo.Asunto = createEditCorreoViewModel.Asunto;
            if (createEditCorreoViewModel.CandidaturaId > 0)
            {
                correo.CandidaturaId = createEditCorreoViewModel.CandidaturaId;
            }

            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;
            if (createEditCorreoViewModel.SubEntrevistaId != null)
            {
                correo.SubEntrevistaId = createEditCorreoViewModel.SubEntrevistaId.Value;
            }
            correo.TipoAviso = createEditCorreoViewModel.TipoAviso;
        }
        private int Update(CorreoRowViewModel createEditCorreoViewModel, int usuarioAplicacion)
        {
            var correo = _correoRepository.GetOne(x => x.CorreoId == createEditCorreoViewModel.CorreoId);

            correo.UpdateCorreo(createEditCorreoViewModel, usuarioAplicacion);

            return(_correoRepository.Update(correo));
        }
        private Correo Save(CorreoRowViewModel createEditCorreoViewModel, int usuarioAplicacion)
        {
            var correo = new Correo();

            correo.UpdateCorreo(createEditCorreoViewModel, usuarioAplicacion);

            var newCorreo = _correoRepository.Create(correo);

            return(newCorreo);
        }
        public static CorreoRowViewModel ConvertToCorreoRowViewModel(this Correo Correo)
        {
            var ofertRowViewModel = new CorreoRowViewModel()
            {
                CorreoId        = Correo.CorreoId,
                Asunto          = Correo.Asunto,
                Destinatarios   = Correo.Destinatarios,
                PlantillaId     = Correo.PlantillaId,
                Remitente       = Correo.Remitente,
                Enviado         = Correo.Enviado,
                CandidaturaId   = Correo.CandidaturaId.Value,
                FechaEnvio      = Correo.FechaEnvio,
                Activo          = Correo.IsActivo,
                SubEntrevistaId = Correo.SubEntrevistaId,
                TipoAviso       = Correo.TipoAviso
            };

            return(ofertRowViewModel);
        }
        public SaveCorreoResponse SaveCorreo(CorreoRowViewModel correoViewModel, int usuarioAplicacion)
        {
            var response = new SaveCorreoResponse();

            try
            {
                if (correoViewModel.CorreoId == 0)
                {
                    var newCorreo = Save(correoViewModel, usuarioAplicacion);
                    if (newCorreo != null)
                    {
                        response.IsValid  = true;
                        response.CorreoId = newCorreo.CorreoId;
                    }
                    else
                    {
                        response.IsValid      = false;
                        response.ErrorMessage = "Error to save Correo";
                    }
                }
                else
                {
                    if (Update(correoViewModel, usuarioAplicacion) > 0)
                    {
                        response.IsValid  = true;
                        response.CorreoId = (int)correoViewModel.CorreoId;
                    }
                    else
                    {
                        response.IsValid      = false;
                        response.ErrorMessage = "Error to update Correo";
                    }
                }
            }
            catch (Exception ex)
            {
                response.IsValid      = false;
                response.ErrorMessage = ex.Message;
            }

            return(response);
        }