public EDNotificarInconsistencia GrabarNotificacionInconsistenciaLaborales(EDNotificarInconsistencia notIncon)
        {
            bool rta = false;
            Inconsistecialaboral IncoLab = null;

            try
            {
                using (var context = new SG_SSTContext())
                {
                    using (var Transaction = context.Database.BeginTransaction())
                    {
                        IncoLab = new Inconsistecialaboral();

                        IncoLab.DescripcionInconsistencia = notIncon.Observacion;
                        IncoLab.FKTipoInconsistencia      = notIncon.IDTipoInconsistencia;

                        context.Tbl_InconsistenciasLaborales.Add(IncoLab);
                        context.SaveChanges();
                        Transaction.Commit();
                        IncoLab.PKInconsistencia = IncoLab.PKInconsistencia;
                        notIncon.Rta             = true;
                        notIncon.Id = IncoLab.PKInconsistencia;
                    }
                }
            }
            catch (Exception ex)
            {
                var log = new RegistraLog();
                notIncon.Rta = false;
                log.RegistrarError(typeof(RelacionesLaboralesManager), string.Format("Error Grabando Notificacion Inconsistencia Laboral: {0},  Error: {1}", DateTime.Now, ex.StackTrace), ex);
            }
            return(notIncon);
        }
        public HttpResponseMessage EnviarNotificarInconsistenciaLaboral(EDNotificarInconsistencia notIncon)
        {
            try
            {
                LNRelacionesLaborales lnRL = new LNRelacionesLaborales(); /// Defino variable gs
                LNUsuario             lnUs = new LNUsuario();             /// Defino variable gs

                List <EDTiposS> lstCorreos = lnRL.DevuelveCorreoGerente(notIncon.empresa_nit_sistema);
                if (lstCorreos != null && lstCorreos.Count > 0)
                {
                    string NombrePlantilla = notIncon.nombrePlantilla;
                    notIncon.Email_Gerente  = lstCorreos[0].Id_Tipo;
                    notIncon.Nombre_Gerente = lstCorreos[0].Descripcion;

                    EDNotificarInconsistencia notInconRes = lnUs.EnviaNotificacionInconsistenciaLaborales(NombrePlantilla, notIncon);
                    var response = Request.CreateResponse <EDNotificarInconsistencia>(HttpStatusCode.Created, notInconRes);
                    return(response);
                }
                else
                {
                    var response = Request.CreateResponse(HttpStatusCode.ExpectationFailed);
                    return(response);
                }
            }
            catch (Exception ex)
            {
                var response = Request.CreateResponse(HttpStatusCode.InternalServerError);
                return(response);
            }
        }
 public HttpResponseMessage GrabarNotificarInconsistenciaLaboral(EDNotificarInconsistencia notIncon)
 {
     try
     {
         LNRelacionesLaborales     lnRL        = new LNRelacionesLaborales();/// Defino variable gs
         EDNotificarInconsistencia notInconRes = lnRL.GrabarNotificarInconsistenciaLaboral(notIncon);
         var response = Request.CreateResponse <EDNotificarInconsistencia>(HttpStatusCode.Created, notInconRes);
         return(response);
     }
     catch (Exception ex)
     {
         var response = Request.CreateResponse(HttpStatusCode.InternalServerError);
         return(response);
     }
 }
 public EDNotificarInconsistencia GrabarNotificarInconsistenciaLaboral(EDNotificarInconsistencia notIncon)
 {
     return(em.GrabarNotificacionInconsistenciaLaborales(notIncon));
 }
示例#5
0
        public ActionResult EnvioCorreo(string dd_tipoInconsistencia, string idObservacion)
        {
            EDNotificarInconsistencia      notIncon = new EDNotificarInconsistencia();
            NotificarInconsistenciasModels notIncMd = new NotificarInconsistenciasModels();
            EDEmpresa_Usuaria   eu            = new EDEmpresa_Usuaria();
            UsuarioSessionModel usuarioSesion = new UsuarioSessionModel();
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);


            //asigna la empresa logueada
            if (usuarioActual != null)
            {
                eu.DocumentoEmpresa          = usuarioActual.NitEmpresa;
                eu.RazonSocial               = usuarioActual.RazonSocialEmpresa;
                notIncon.empresa_sistema     = usuarioActual.NitEmpresa + " - " + usuarioActual.RazonSocialEmpresa;
                notIncon.usuario_sistema     = usuarioActual.Login + " - " + usuarioActual.NombreUsuario;
                notIncon.empresa_nit_sistema = usuarioActual.NitEmpresa;
            }
            else
            {
                ViewBag.Mensaje = "Debe estar autenticado para realizar la evalación.";
                return(RedirectToAction("Login", "Home"));
            }

            ServiceClient.EliminarParametros();
            var resulta = ServiceClient.ObtenerArrayJsonRestFul <EDTipos>(urlServicioEmpresas, CapacidadRelacionlaboralTiposInconsistencias, RestSharp.Method.GET);

            if (resulta.Count() > 0)
            {
                notIncMd.lstTiposInconsistencias = resulta.Select(c => new SelectListItem()
                {
                    Value = c.Id_Tipo.ToString(),
                    Text  = c.Descripcion
                }).ToList();
            }


            notIncMd.Documento_Empresa = eu.DocumentoEmpresa;
            notIncMd.Nombre_Empresa    = eu.RazonSocial;


            if (dd_tipoInconsistencia != null)
            {
                notIncon.IDTipoInconsistencia = int.Parse(dd_tipoInconsistencia);
            }

            if (idObservacion != null)
            {
                notIncon.Observacion = idObservacion;
            }

            notIncon.nombrePlantilla = ConfigurationManager.AppSettings["RelacionlaboralNotificacionLaboral_NombrePlantilla"];

            ServiceClient.EliminarParametros();
            var result = ServiceClient.RealizarPeticionesPostJsonRestFul <EDNotificarInconsistencia>(urlServicioEmpresas, CapacidadRelacionlaboralGrabarNotificarInconsistenciaLaboral, notIncon);

            if (result != null)
            {
                notIncon = result;
                ServiceClient.EliminarParametros();
                var result_notif = ServiceClient.RealizarPeticionesPostJsonRestFul <EDNotificarInconsistencia>(urlServicioEmpresas, CapacidadRelacionlaboralEnviarNotificarInconsistenciaLaboral, notIncon);
                if (result_notif != null)
                {
                    if (!result_notif.Rta)
                    {
                        ViewBag.NotificacionLaboralStatusError = "Se registró inconsistencia laboral Nro: " + result.Id.ToString() + ", el envio de correo fallo al usar el servicio de correo...";
                        ViewBag.NotificacionLaboralStatus      = "";
                    }
                    else
                    {
                        ViewBag.NotificacionLaboralStatus = "Se registró satisfactoriamente la inconsistencia laboral No. " + result.Id.ToString() + " enviándose al correo electrónico " + result_notif.Email_Gerente.ToUpper() + " Próximamente un responsable de POSITIVA COMPAÑÍA DE SEGUROS S.A se comunicará con ustedes";
                    }
                }
                else
                {
                    ViewBag.NotificacionLaboralStatusError = "Se registró inconsistencia laboral Nro: " + result.Id.ToString() + ", el envio de correo fallo al usar el servicio de correo...";
                    ViewBag.NotificacionLaboralStatus      = "";
                }
            }
            else
            {
                ViewBag.NotificacionLaboralStatusError = "Error en el registro de la incosistencia";
                ViewBag.NotificacionLaboralStatus      = "";
            }

            return(View("Index", notIncMd));
        }