public ActionResult Eliminar(int id_estado_fuerza_detalle)
 {
     try
     {
         Estado_Fuerza_Detalle estado_Fuerza_Detalle = db.Estado_Fuerza_Detalle.SingleOrDefault(e => e.activo && e.id_estado_fuerza_detalle == id_estado_fuerza_detalle);
         if (estado_Fuerza_Detalle == null)
         {
             return(HttpNotFound());
         }
         estado_Fuerza_Detalle.activo                 = false;
         estado_Fuerza_Detalle.eliminado              = true;
         estado_Fuerza_Detalle.fecha_eliminacion      = DateTime.Now;
         estado_Fuerza_Detalle.id_usuario_eliminacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
         db.Entry(estado_Fuerza_Detalle).State        = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch
     {
         ContextMessage msg = new ContextMessage(ContextMessage.Error, "Error durante la conexión con el servidor. Cambios no efectuados.");
         msg.ReturnUrl = Url.Action("EstadoFuerza");
         TempData[User.Identity.Name] = msg;
         return(RedirectToAction("Mensaje"));
     }
 }
예제 #2
0
 // POST: rrhh/Puestoes/Delete/5
 public ActionResult Eliminar(int id)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             Puesto puesto = db.Puesto.SingleOrDefault(p => p.activo && p.id_puesto == id);
             if (puesto == null)
             {
                 return(HttpNotFound());
             }
             puesto.activo                 = false;
             puesto.eliminado              = true;
             puesto.fecha_eliminacion      = DateTime.Now;
             puesto.id_usuario_eliminacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             db.Entry(puesto).State        = EntityState.Modified;
             db.SaveChanges();
             tran.Commit();
             return(RedirectToAction("Index"));
         }
         catch
         {
             tran.Rollback();
             ContextMessage msg = new ContextMessage(ContextMessage.Error, "Error durante la conexión con el servidor. Cambios no efectuados.");
             msg.ReturnUrl = Url.Action("EstadoFuerza");
             TempData[User.Identity.Name] = msg;
             return(RedirectToAction("Mensaje"));
         }
     }
 }
예제 #3
0
        public ActionResult ActivarContrato(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Contratacion contrato = db.Contratacion.SingleOrDefault(c => c.id_contratacion == id);

            if (contrato == null)
            {
                return(HttpNotFound());
            }
            var contratos = db.Contratacion.Where(c => c.activo && c.id_empleado == contrato.id_empleado);

            if (contratos.Count() > 0)
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Error, "El empleado ya tiene un contrato activo.");
                msg.ReturnUrl = Url.Action("Details", "Empleado", new { id = contrato.id_empleado });
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }
            contrato.fecha_fin               = null;
            contrato.activo                  = true;
            contrato.eliminado               = false;
            contrato.id_estado_empleado      = 1;
            contrato.id_motivo_baja          = null;
            contrato.razon_baja              = "";
            contrato.fecha_modificacion      = DateTime.Now;
            contrato.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
            db.Entry(contrato).State         = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("Details", "Empleado", new { id = contrato.id_empleado }));
        }
예제 #4
0
        public ActionResult FinalizarEstadoFuerza(int id_estado_fuerza)
        {
            Estado_Fuerza estadofuerza = db.Estado_Fuerza.SingleOrDefault(e => e.id_estado_fuerza == id_estado_fuerza && e.activo && !e.eliminado);

            if (estadofuerza == null)
            {
                return(HttpNotFound());
            }
            estadofuerza.activo                  = false;
            estadofuerza.fecha_finalizacion      = estadofuerza.fecha_modificacion = DateTime.Now;
            estadofuerza.id_usuario_finalizacion = estadofuerza.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
            //using (DbContextTransaction tran = db.Database.BeginTransaction())
            {
                try
                {
                    db.Entry(estadofuerza).State = EntityState.Modified;
                    db.SaveChanges();
                    db.Finalizar_Dia(estadofuerza.id_estado_fuerza);
                    //tran.Commit();
                    return(RedirectToAction("EstadoFuerza"));
                }
                catch
                {
                    //tran.Rollback();
                    ContextMessage msg = new ContextMessage(ContextMessage.Error, "Error durante la conexión con el servidor. Cambios no efectuados.");
                    msg.ReturnUrl = Url.Action("EstadoFuerza");
                    TempData[User.Identity.Name] = msg;
                    return(RedirectToAction("Mensaje"));
                }
            }
        }
예제 #5
0
        public ActionResult Create(Pt_Costos_Fijos_Mes_Anio costosFijosMesAnio)
        {
            if (ModelState.IsValid)
            {
                Pt_Costos_Fijos_Mes_Anio list = db.Pt_Costos_Fijos_Mes_Anio.Where(x => x.activo && !x.eliminado && x.ccfma_mes == costosFijosMesAnio.ccfma_mes && x.ccfma_anio == costosFijosMesAnio.ccfma_anio).SingleOrDefault();
                if (list == null)
                {
                    UsuarioTO usuarioTO = Cache.DiccionarioUsuariosLogueados[User.Identity.Name];
                    costosFijosMesAnio.id_usuario_creacion = usuarioTO.usuario.id_usuario;
                    costosFijosMesAnio.fecha_creacion      = DateTime.Now;
                    costosFijosMesAnio.activo    = true;
                    costosFijosMesAnio.eliminado = false;
                    db.Pt_Costos_Fijos_Mes_Anio.Add(costosFijosMesAnio);
                    db.SaveChanges();
                }
                else
                {
                    ContextMessage msg = new ContextMessage(ContextMessage.Info, "Los costos para este mes, ya han sido ingresados. Por favor, ingrese costos de otro mes.");
                    msg.ReturnUrl = Url.Action("Index");
                    TempData[User.Identity.Name] = msg;
                    return(RedirectToAction("Mensaje"));
                }
                return(RedirectToAction("Index"));
            }

            return(View(costosFijosMesAnio));
        }
예제 #6
0
        public ActionResult RemoveAllByController(int idControlador, int id_rol)
        {
            Controladores controlador = db.Controladores.Find(idControlador);
            Roles         rol         = db.Roles.Find(id_rol);

            if (rol == null || controlador == null)
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Warning, "El rol o controlador no son validos");
                msg.ReturnUrl = Url.Action("Index");
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }

            using (DbContextTransaction tran = db.Database.BeginTransaction())
            {
                try
                {
                    db.Rol_Acciones.RemoveRange(controlador.Rol_Acciones.Where(ra => ra.id_rol == rol.id_rol));
                    db.SaveChanges();

                    tran.Commit();
                    return(RedirectToAction("Edit", new { idAplicacion = controlador.id_aplicacion, idRol = rol.id_rol, idControlador = controlador.id_controlador }));
                }
                catch
                {
                    tran.Rollback();
                    ContextMessage msg = new ContextMessage(ContextMessage.Error, App_GlobalResources.Resources.error_inesperado);
                    msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = controlador.id_aplicacion });
                    return(RedirectToAction("Mensaje"));
                }
            }
        }
예제 #7
0
        public async void UseInput()
        {
            await MessageService.ProcessAsync(Message <float> .Create(0.3F, DialoguePlugin.MessageIntegration.Mask,
                                                                      DialoguePlugin.MessageIntegration.HideDialogueBox));

            var title = new StringValue {
                Value = "输入姓和名(空格隔开)"
            };
            var defaultText = new StringValue {
                Value = "诹访部 翔平"
            };
            var confirmText = new StringValue {
                Value = "继续"
            };
            var context = PluginExecuteContext.Create(new ScriptRuntime("Utilities"));
            var message = await MessageService.ProcessAsync(ContextMessage <InputPlugin.MessageIntegration.Content> .Create(context,
                                                                                                                            new InputPlugin.MessageIntegration.Content {
                Title = title, Default = defaultText, ButtonText = confirmText
            },
                                                                                                                            InputPlugin.MessageIntegration.Mask,
                                                                                                                            InputPlugin.MessageIntegration.CreateInput));

            if (message is Message <string> stringMessage)
            {
                Debug.Log(stringMessage.Content);
            }
            await MessageService.ProcessAsync(Message <float> .Create(0.3F, DialoguePlugin.MessageIntegration.Mask,
                                                                      DialoguePlugin.MessageIntegration.ShowDialogueBox));
        }
예제 #8
0
        public ActionResult GuardarResultadoCargaMasiva(List <ResultadoCargaEF> resultadocargaef, int operacion)
        {
            switch (operacion)
            {
            //Guardar resultados correctos
            case 1:
                using (DbContextTransaction tran = db.Database.BeginTransaction())
                {
                    try
                    {
                        var nuevo_resultado = VerificarDuplicados(resultadocargaef);
                        GuardarRegistros(nuevo_resultado.Where(r => r.correcto));
                        tran.Commit();
                        return(RedirectToAction("Index", "Home"));
                    }
                    catch
                    {
                        ContextMessage msg = new ContextMessage(ContextMessage.Error, "Los registros no pudieron ser guardados correctamente.");
                        msg.ReturnUrl = Url.Action("CargarArchivo");
                        TempData[User.Identity.Name] = msg;
                        tran.Rollback();
                        return(RedirectToAction("Mensaje"));
                    }
                }

            //Validar resultados
            case 2:
                var nuevos_resultados = ValidarRegistros(resultadocargaef);
                return(View("ResultadoCargaMasiva", nuevos_resultados));

            default:
                return(RedirectToAction("CargarArchivo"));
            }
        }
        public ActionResult Create(Pt_Tmp_Propuesta_Fase_Puesto tmp_Propuesta_Fase_Puesto)
        {
            Pt_Tmp_Propuesta_Fase_Puesto tmp = db.Pt_Tmp_Propuesta_Fase_Puesto.Where(t => t.ctpf_cfas_id == tmp_Propuesta_Fase_Puesto.ctpf_cfas_id && t.ctpf_cpue_id == tmp_Propuesta_Fase_Puesto.ctpf_cpue_id && t.activo && !t.eliminado).SingleOrDefault();

            if (ModelState.IsValid)
            {
                if (tmp == null)
                {
                    UsuarioTO usuarioTO = Cache.DiccionarioUsuariosLogueados[User.Identity.Name];
                    tmp_Propuesta_Fase_Puesto.ctpf_personal       = 1;
                    tmp_Propuesta_Fase_Puesto.ctpf_facConIVA      = 0;
                    tmp_Propuesta_Fase_Puesto.id_usuario_creacion = usuarioTO.usuario.id_usuario;
                    tmp_Propuesta_Fase_Puesto.fecha_creacion      = DateTime.Now;
                    tmp_Propuesta_Fase_Puesto.activo    = true;
                    tmp_Propuesta_Fase_Puesto.eliminado = false;
                    db.Pt_Tmp_Propuesta_Fase_Puesto.Add(tmp_Propuesta_Fase_Puesto);
                    db.SaveChanges();
                }
                else
                {
                    ContextMessage msg = new ContextMessage(ContextMessage.Info, "Este puesto ya fue ingresado. Ingrese uno nuevo");
                    msg.ReturnUrl = Url.Action("Create");
                    TempData[User.Identity.Name] = msg;
                    return(RedirectToAction("Mensaje"));
                }

                ViewBag.pagosPuesto = db.Pt_Pagos_Puesto.Where(pp => pp.cppu_cpue_id == tmp_Propuesta_Fase_Puesto.ctpf_cpue_id).ToList();
                return(RedirectToAction("Create/" + tmp_Propuesta_Fase_Puesto.ctpf_cfas_id));
            }
            ViewBag.ctpf_cfas_id = new SelectList(db.Pt_Fases_Cotizacion, "cfas_id", "cfas_nombre", tmp_Propuesta_Fase_Puesto.ctpf_cfas_id);
            ViewBag.ctpf_cpue_id = new SelectList(db.Pt_Puestos, "cpue_id", "cpue_descripcion", tmp_Propuesta_Fase_Puesto.ctpf_cpue_id);
            return(View(tmp_Propuesta_Fase_Puesto));
        }
예제 #10
0
 public ActionResult Edit(Tipo_Puesto tipo_puesto)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             Tipo_Puesto editTipo_puesto = db.Tipo_Puesto.SingleOrDefault(t => t.id_tipo_puesto == tipo_puesto.id_tipo_puesto && t.activo);
             if (editTipo_puesto == null)
             {
                 return(HttpNotFound());
             }
             //editTipo_puesto.id_empresa = tipo_puesto.id_empresa;
             editTipo_puesto.nombre = tipo_puesto.nombre;
             editTipo_puesto.genera_estado_fuerza    = tipo_puesto.genera_estado_fuerza;
             editTipo_puesto.salario_maximo          = Convert.ToDecimal(Request["salario_maximo"], CultureInfo.InvariantCulture);
             editTipo_puesto.salario_minimo          = Convert.ToDecimal(Request["salario_minimo"], CultureInfo.InvariantCulture);
             editTipo_puesto.fecha_modificacion      = DateTime.Now;
             editTipo_puesto.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             db.Entry(editTipo_puesto).State         = EntityState.Modified;
             db.SaveChanges();
             tran.Commit();
             return(RedirectToAction("Index"));
         }
         catch
         {
             tran.Rollback();
             ContextMessage msg = new ContextMessage(ContextMessage.Error, "No se pudo modificar correctamente el Tipo de Puesto");
             msg.ReturnUrl = Url.Action("Edit");
             TempData[User.Identity.Name] = msg;
             return(RedirectToAction("Mensaje", "Home"));
         }
     }
 }
예제 #11
0
 public ActionResult Create(Tipo_Puesto tipo_puesto)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             tipo_puesto.salario_maximo      = Convert.ToDecimal(Request["salario_maximo"], CultureInfo.InvariantCulture);
             tipo_puesto.salario_minimo      = Convert.ToDecimal(Request["salario_minimo"], CultureInfo.InvariantCulture);
             tipo_puesto.activo              = true;
             tipo_puesto.eliminado           = false;
             tipo_puesto.fecha_creacion      = DateTime.Now;
             tipo_puesto.id_usuario_creacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             db.Tipo_Puesto.Add(tipo_puesto);
             db.SaveChanges();
             tran.Commit();
             return(RedirectToAction("Index"));
         }
         catch
         {
             tran.Rollback();
             ContextMessage msg = new ContextMessage(ContextMessage.Error, "No se pudo crear correctamente el Tipo de Puesto");
             msg.ReturnUrl = Url.Action("Create");
             TempData[User.Identity.Name] = msg;
             return(RedirectToAction("Mensaje", "Home"));
         }
     }
 }
        /// <summary>
        /// 添加消息
        /// </summary>
        /// <param name="openId">The open identifier.</param>
        /// <param name="context">The context.</param>
        /// <param name="message">The message.</param>
        public void SetContextMessage(string openId, string context, Message message)
        {
            if (!Messages.ContainsKey(openId))
            {
                var messageList = new ContextMessage
                {
                    Context = context
                };
                messageList.Messages.Add(message);

                Messages.Add(openId, messageList);

                cache.SetString(
                    openId,
                    openId,
                    new DistributedCacheEntryOptions()
                {
                    AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(15)
                });
            }
            else
            {
                Messages[openId].Messages.Add(message);
            }
        }
예제 #13
0
        public ActionResult Modificar_Baja(int id, string razon_baja, DateTime fecha_baja, int motivo_baja)
        {
            Contratacion contrato = db.Contratacion.SingleOrDefault(c => c.id_contratacion == id);

            if (contrato == null)
            {
                return(HttpNotFound());
            }
            try
            {
                contrato.fecha_fin               = fecha_baja;
                contrato.id_motivo_baja          = motivo_baja;
                contrato.razon_baja              = razon_baja;
                contrato.fecha_modificacion      = DateTime.Now;
                contrato.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
                db.Entry(contrato).State         = EntityState.Modified;
                db.SaveChanges();
            }
            catch
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Error, "No se pudo modificar el contrato seleccionado.");
                msg.ReturnUrl = Url.Action("Historico", new { id_empleado = contrato.id_empleado });
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }
            return(RedirectToAction("Historico", new { id_empleado = contrato.id_empleado }));
        }
예제 #14
0
 public ActionResult CrearEstadoFuerza(Estado_Fuerza estado_fuerza)
 {
     if (db.Estado_Fuerza.Where(f => (f.fecha == estado_fuerza.fecha && !f.eliminado) || f.activo).Count() > 0)
     {
         ContextMessage msg = new ContextMessage(ContextMessage.Error, "El día seleccionado ya esta almacenado en el Estado de Fuerza.");
         msg.ReturnUrl = Url.Action("EstadoFuerza");
         TempData[User.Identity.Name] = msg;
         return(RedirectToAction("Mensaje"));
     }
     estado_fuerza.activo              = true;
     estado_fuerza.eliminado           = false;
     estado_fuerza.fecha_creacion      = DateTime.Now;
     estado_fuerza.id_usuario_creacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
     try
     {
         db.Estado_Fuerza.Add(estado_fuerza);
         db.SaveChanges();
         return(RedirectToAction("EstadoFuerza"));
     }
     catch
     {
         ContextMessage msg = new ContextMessage(ContextMessage.Error, "Error durante la conexión con el servidor. Cambios no efectuados.");
         msg.ReturnUrl = Url.Action("EstadoFuerza");
         TempData[User.Identity.Name] = msg;
         return(RedirectToAction("Mensaje"));
     }
 }
        public ActionResult Crear(DateTime fecha_inicio, DateTime fecha_fin, int cantidad_dias, bool tipo_vacacion, int id_vacacion_contrato, string costo)
        {
            var    vacacion_contrato = db.Vacacion_Contrato.Find(id_vacacion_contrato);
            int    dias_usados       = 0;
            string error             = "";

            if (vacacion_contrato.dias_tomados.HasValue)
            {
                dias_usados = vacacion_contrato.dias_tomados.Value;
            }
            if (vacacion_contrato.dias_total >= (dias_usados + cantidad_dias))
            {
                Vacacion_Detalle vacacion_detalle = new Vacacion_Detalle();
                vacacion_detalle.activo              = true;
                vacacion_detalle.eliminado           = false;
                vacacion_detalle.id_empleado         = vacacion_contrato.id_empleado;
                vacacion_detalle.fecha_creacion      = DateTime.Now;
                vacacion_detalle.id_usuario_creacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;

                vacacion_detalle.fecha_inicio         = fecha_inicio;
                vacacion_detalle.fecha_fin            = fecha_fin;
                vacacion_detalle.cantidad_dias        = cantidad_dias;
                vacacion_detalle.tipo_vacacion        = tipo_vacacion;
                vacacion_detalle.id_vacacion_contrato = id_vacacion_contrato;

                if (tipo_vacacion) //true implica que se pagaron las vacaciones al empleado
                {
                    vacacion_detalle.costo = Convert.ToDecimal(costo, CultureInfo.InvariantCulture);
                }
                if (vacacion_contrato.dias_tomados.HasValue)
                {
                    vacacion_contrato.dias_tomados += cantidad_dias;
                }
                else
                {
                    vacacion_contrato.dias_tomados = cantidad_dias;
                }
                try
                {
                    db.Vacacion_Detalle.Add(vacacion_detalle);
                    db.Entry(vacacion_contrato).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Details", new { id = id_vacacion_contrato }));
                }
                catch
                {
                    error = "Error en la conexión con el servidor. Operación no efectuada.";
                }
            }
            else
            {
                error = "La cantidad de días ingresadas supera el límite disponible del empleado.";
            }
            ContextMessage msg = new ContextMessage(ContextMessage.Warning, error);

            msg.ReturnUrl = Url.Action("Details", new { id = id_vacacion_contrato });
            TempData[User.Identity.Name] = msg;
            return(RedirectToAction("Mensaje"));
        }
예제 #16
0
 private void InitializeContext()
 {
     _latestContextMessage = new ContextMessage
     {
         GeoFilter  = GeoFilter.All,
         TimeFilter = DateTime.Today
     };
 }
 public TemperatureMessage()
 {
     var context = new ContextMessage
     {
         GeoFilter = Models.Enums.GeoFilter.All, 
         TimeFilter = DateTime.Today,
         MessageDateTime = DateTime.Now
     };
     Initialize(context);
 }
예제 #18
0
        protected override void Execute(CodeActivityContext context)
        {
            ContextClient contextClient = null;

            if (ContextClient.Expression == null)
            {
                var ContextClientArgument = context.DataContext.GetProperties()["ContextClient"];
                contextClient = ContextClientArgument.GetValue(context.DataContext) as ContextClient;
                if (contextClient == null)
                {
                    throw (new ArgumentException("ContextClient was not provided and cannot be retrieved from the container."));
                }
            }
            else
            {
                contextClient = ContextClient.Get(context);
            }

            var    executorRuntime = context.GetExtension <IExecutorRuntime>();
            string currentProcess;

            if (executorRuntime != null)
            {
                var jobInfo = executorRuntime.RunningJobInformation;

                currentProcess = jobInfo.ProcessName.ToString();

                if (currentProcess.Contains("_"))
                {
                    currentProcess = currentProcess.Split('_')[0];
                }
            }
            else
            {
                currentProcess = "DummyProcess";
            }

            ContextMessage aNewContextMessage = new ContextMessage();

            if (contextClient.GetNextMessage(currentProcess, ref aNewContextMessage))
            {
                this.Action.Set(context, aNewContextMessage.Action);
                this.ArgumentsJson.Set(context, aNewContextMessage.ArgumentsJson);
                this.From.Set(context, aNewContextMessage.From);
                this.TimeSent.Set(context, aNewContextMessage.DateSent);

                this.To.Set(context, currentProcess);

                this.MessageQueueEmpty.Set(context, false);
            }
            else
            {
                this.MessageQueueEmpty.Set(context, true);
            }
        }
        public ActionResult Editar(DateTime fecha_inicio, DateTime fecha_fin, int cantidad_dias, bool tipo_vacacion, string costo, int id_vacacion_detalle)
        {
            var    vacacion_detalle = db.Vacacion_Detalle.Find(id_vacacion_detalle);
            string error            = "";

            if (vacacion_detalle.cantidad_dias > cantidad_dias)
            {
                vacacion_detalle.Vacacion_Contrato.dias_tomados -= (vacacion_detalle.cantidad_dias - cantidad_dias);
            }
            else if (vacacion_detalle.cantidad_dias < cantidad_dias)
            {
                var dif = cantidad_dias - vacacion_detalle.cantidad_dias;
                if (vacacion_detalle.Vacacion_Contrato.dias_total >= (vacacion_detalle.cantidad_dias + dif))
                {
                    vacacion_detalle.cantidad_dias = cantidad_dias;
                    vacacion_detalle.Vacacion_Contrato.dias_tomados += dif;
                }
                else
                {
                    error = "La cantidad de días ingresadas supera el límite disponible del empleado.";
                }
            }
            if (String.IsNullOrEmpty(error))
            {
                vacacion_detalle.cantidad_dias = cantidad_dias;
                vacacion_detalle.tipo_vacacion = tipo_vacacion;
                vacacion_detalle.fecha_inicio  = fecha_inicio;
                vacacion_detalle.fecha_fin     = fecha_fin;
                if (tipo_vacacion)
                {
                    vacacion_detalle.costo = Convert.ToDecimal(costo, CultureInfo.InvariantCulture);
                }
                else
                {
                    vacacion_detalle.costo = null;
                }
                try
                {
                    db.Entry(vacacion_detalle).State = EntityState.Modified;
                    db.Entry(vacacion_detalle.Vacacion_Contrato).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Details", new { id = vacacion_detalle.id_vacacion_contrato }));
                }
                catch
                {
                    error = "Error en la conexión con el servidor. Cambios no efectuados.";
                }
            }
            ContextMessage msg = new ContextMessage(ContextMessage.Warning, error);

            msg.ReturnUrl = Url.Action("Details", new { id = vacacion_detalle.id_vacacion_contrato });
            TempData[User.Identity.Name] = msg;
            return(RedirectToAction("Mensaje"));
        }
예제 #20
0
        public TemperatureMessage()
        {
            var context = new ContextMessage
            {
                GeoFilter       = Models.Enums.GeoFilter.All,
                TimeFilter      = DateTime.Today,
                MessageDateTime = DateTime.Now
            };

            Initialize(context);
        }
예제 #21
0
        public void SetGeoFilter(string geoFilter)
        {
            var latest = _latestContextMessage;

            var contextMessage = new ContextMessage
            {
                GeoFilter  = (GeoFilter)Enum.Parse(typeof(GeoFilter), geoFilter),
                TimeFilter = latest.TimeFilter
            };

            SetContext(contextMessage);
        }
예제 #22
0
        public async Task <SerializableValue> Execute(PluginExecuteContext context)
        {
            var description = new MessageIntegration.Content();

            foreach (var(name, value) in context.StringParameters)
            {
                switch (name.ConvertToString(context.Language))
                {
                case "Title":
                    if (value is IStringConverter stringTitle)
                    {
                        description.Title = stringTitle;
                    }
                    else
                    {
                        throw new NotSupportedException($"Unable to create input: title {value} is not string value");
                    }
                    break;

                case "Default":
                    if (value is IStringConverter stringDefault)
                    {
                        description.Default = stringDefault;
                    }
                    else
                    {
                        throw new NotSupportedException($"Unable to create input: default {value} is not string value");
                    }
                    break;

                case "ButtonText":
                    if (value is IStringConverter stringButton)
                    {
                        description.ButtonText = stringButton;
                    }
                    else
                    {
                        throw new NotSupportedException($"Unable to create input: button text {value} is not string value");
                    }
                    break;

                default:
                    Debug.LogWarning($"Input plugin: unknown parameter {name}");
                    break;
                }
            }
            var message = await MessageService.ProcessAsync(ContextMessage <MessageIntegration.Content> .Create(MessageIntegration.Mask, MessageIntegration.CreateInput, description, context));

            return(message is Message <string> stringMessage ? new StringValue {
                value = stringMessage.Content
            } : null);
        }
예제 #23
0
        public ActionResult AddAllByApp(int idAplicacion, int id_rol)
        {
            Aplicaciones aplicacion = db.Aplicaciones.Find(idAplicacion);
            Roles        rol        = db.Roles.Find(id_rol);

            if (rol == null || aplicacion == null)
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Warning, "El rol o la aplicacion no son validos");
                msg.ReturnUrl = Url.Action("Index");
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }

            List <Controladores> controladores = aplicacion.Controladores.ToList();

            using (DbContextTransaction tran = db.Database.BeginTransaction())
            {
                try
                {
                    foreach (Controladores controlador in controladores)
                    {
                        foreach (Acciones accion in controlador.Acciones)
                        {
                            Rol_Acciones permiso = db.Rol_Acciones.Where(ra => ra.id_accion == accion.id_accion && ra.id_rol == rol.id_rol && ra.id_controlador == controlador.id_controlador).DefaultIfEmpty(null).FirstOrDefault();
                            if (permiso == null)
                            {
                                Rol_Acciones rolAccion = new Rol_Acciones();
                                rolAccion.id_accion      = accion.id_accion;
                                rolAccion.id_rol         = rol.id_rol;
                                rolAccion.id_controlador = controlador.id_controlador;
                                db.Rol_Acciones.Add(rolAccion);
                            }
                        }
                    }
                    db.SaveChanges();

                    ContextMessage msg = new ContextMessage(ContextMessage.Success, "Permisos agregados con éxito");
                    msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = aplicacion.id_aplicacion, idRol = rol.id_rol });
                    TempData[User.Identity.Name] = msg;

                    tran.Commit();
                    return(RedirectToAction("Mensaje"));
                }
                catch
                {
                    tran.Rollback();
                    ContextMessage msg = new ContextMessage(ContextMessage.Error, App_GlobalResources.Resources.error_inesperado);
                    msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = aplicacion.id_aplicacion });
                    return(RedirectToAction("Mensaje"));
                }
            }
        }
예제 #24
0
 private void InitializeMessages()
 {
     _latestContextMessage = new ContextMessage
     {
         GeoFilter  = GeoFilter.All,
         TimeFilter = DateTime.Today
     };
     _latestSummaryMessage = new SummaryMessage()
     {
         IsDefault = true
     };
     _latestTemperatureMessage = new TemperatureMessage()
     {
         IsDefault = true
     };
     _latestHeartRateMessage = new HeartRateMessage()
     {
         IsDefault = true
     };
     _latestOxygenMessage = new OxygenMessage()
     {
         IsDefault = true
     };
     _latestBostonMessage = new BostonMessage()
     {
         IsDefault = true
     };
     _latestChicagoMessage = new ChicagoMessage()
     {
         IsDefault = true
     };
     _latestNewYorkMessage = new NewYorkMessage()
     {
         IsDefault = true
     };
     _latestGlucoseMessage = new GlucoseMessage()
     {
         IsDefault = true
     };
     _sendToGroup = new Dictionary <string, Action>()
     {
         { GetMessageMetadata <ContextMessage>().Group, () => SendMessageToHub(LatestContextMessage) },
         { GetMessageMetadata <SummaryMessage>().Group, () => SendMessageToHub(LatestSummaryMessage) },
         { GetMessageMetadata <TemperatureMessage>().Group, () => SendMessageToHub(LatestTemperatureMessage) },
         { GetMessageMetadata <OxygenMessage>().Group, () => SendMessageToHub(LatestOxygenMessage) },
         { GetMessageMetadata <GlucoseMessage>().Group, () => SendMessageToHub(LatestGlucoseMessage) },
         { GetMessageMetadata <HeartRateMessage>().Group, () => SendMessageToHub(LatestHeartRateMessage) },
         { GetMessageMetadata <BostonMessage>().Group, () => SendMessageToHub(LatestBostonMessage) },
         { GetMessageMetadata <ChicagoMessage>().Group, () => SendMessageToHub(LatestChicagoMessage) },
         { GetMessageMetadata <NewYorkMessage>().Group, () => SendMessageToHub(LatestNewYorkMessage) }
     };
 }
예제 #25
0
        public void SetTimeFilter(DateTime timeFilter)
        {
            var latest = _latestContextMessage;


            var contextMessage = new ContextMessage
            {
                TimeFilter = timeFilter,
                GeoFilter  = latest.GeoFilter
            };

            SetContext(contextMessage);
        }
예제 #26
0
        public ActionResult CargarArchivo()
        {
            Estado_Fuerza estado_fuerza = db.Estado_Fuerza.SingleOrDefault(e => e.activo && !e.eliminado && e.fecha_finalizacion == null);

            if (estado_fuerza == null)
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Info, "No existe un Estado de Fuerza activo en el sistema.");
                msg.ReturnUrl = Url.Action("Index", "Home");
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }
            return(View(estado_fuerza));
        }
예제 #27
0
        public void SetContext(ContextMessage contextMessage)
        {
            if (contextMessage == null)
            {
                return;
            }

            var prev = _latestContextMessage;
            var newContextMessage = new ContextMessage
            {
                GeoFilter  = contextMessage.GeoFilter,
                TimeFilter = prev.TimeFilter
            };

            _latestContextMessage = newContextMessage;
            SendMessages();
        }
예제 #28
0
        public ActionResult RemoveAllByApp(int idAplicacion, int id_rol)
        {
            Aplicaciones aplicacion = db.Aplicaciones.Find(idAplicacion);
            Roles        rol        = db.Roles.Find(id_rol);

            if (rol == null || aplicacion == null)
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Warning, "El rol o la aplicacion no son validos");
                msg.ReturnUrl = Url.Action("Index");
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }

            List <Controladores> controladores = aplicacion.Controladores.ToList();

            using (DbContextTransaction tran = db.Database.BeginTransaction())
            {
                try
                {
                    aplicacion.Controladores
                    .ToList()
                    .ForEach(c =>
                             db.Rol_Acciones.RemoveRange(c.Rol_Acciones.Where(ra => ra.id_rol == rol.id_rol))
                             );

                    db.SaveChanges();

                    ContextMessage msg = new ContextMessage(ContextMessage.Success, "Permisos bloqueados con éxito");
                    msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = aplicacion.id_aplicacion, idRol = rol.id_rol });
                    TempData[User.Identity.Name] = msg;

                    tran.Commit();
                    return(RedirectToAction("Mensaje"));
                }
                catch
                {
                    tran.Rollback();
                    ContextMessage msg = new ContextMessage(ContextMessage.Error, App_GlobalResources.Resources.error_inesperado);
                    msg.ReturnUrl = Url.Action("Edit", new { idAplicacion = aplicacion.id_aplicacion });
                    return(RedirectToAction("Mensaje"));
                }
            }
        }
예제 #29
0
        /// <summary>
        /// 添加消息
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="contextMessage">The context message.</param>
        public void SetContextMessage(string openId, string context, Message message)
        {
            if (!Messages.ContainsKey(openId))
            {
                var messageList = new ContextMessage();

                messageList.Context = context;
                messageList.Messages.Add(message);

                Messages.Add(openId, messageList);

                cacheMgr.Set(openId, openId, 15, (args) =>
                {
                    Messages.Remove(openId);
                });
            }
            else
            {
                Messages[openId].Messages.Add(message);
            }
        }
예제 #30
0
        public async Task <SerializableValue> Execute(PluginExecuteContext context)
        {
            var dialogue = new MessageIntegration.Content();

            foreach (var(name, value) in context.StringParameters)
            {
                switch (name.ConvertToString(context.Language))
                {
                case "Show":
                    await ShowWindow(value, context.Language);

                    return(new NullValue());

                case "Hide":
                    await HideWindow(value, context.Language);

                    return(new NullValue());

                case "Character":
                    dialogue.Character = value;
                    break;

                case "Content":
                    if (value is IStringConverter stringContent)
                    {
                        dialogue.Text = stringContent;
                    }
                    else
                    {
                        throw new ArgumentException($"Unable to create dialogue: unsupported content type {value}");
                    }
                    break;
                }
            }
            await MessageService.ProcessAsync(ContextMessage <MessageIntegration.Content> .Create(MessageIntegration.Mask, MessageIntegration.NewDialogue, dialogue, context));

            return(new NullValue());
        }
예제 #31
0
        public ActionResult EditarSueldoBase(int id_periodo, string salario_minimo, string bono_decreto)
        {
            decimal salario = 0;
            decimal bono    = 0;
            Periodo periodo = db.Periodo.Find(id_periodo);

            if (!String.IsNullOrEmpty(salario_minimo))
            {
                salario = Convert.ToDecimal(salario_minimo, CultureInfo.InvariantCulture);
                periodo.salario_minimo = salario;
            }
            if (!String.IsNullOrEmpty(bono_decreto))
            {
                bono = Convert.ToDecimal(bono_decreto, CultureInfo.InvariantCulture);
                periodo.bono_decreto = bono;
            }
            periodo.fecha_modificacion      = DateTime.Now;
            periodo.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
            try
            {
                db.Entry(periodo).State = EntityState.Modified;
                db.Modificar_Sueldo_Contratos(salario, bono);
                db.SaveChanges();
                ContextMessage msg = new ContextMessage(ContextMessage.Success, "Cambios guardados exitosamente.");
                msg.ReturnUrl = Url.Action("SueldoBase");
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }
            catch
            {
                ContextMessage msg = new ContextMessage(ContextMessage.Error, "Ocurrio un error con la conexión del servidor. Cambios no guardados.");
                msg.ReturnUrl = Url.Action("SueldoBase");
                TempData[User.Identity.Name] = msg;
                return(RedirectToAction("Mensaje"));
            }
        }
 public TemperatureMessage(ContextMessage context)
 {
     Initialize(context);
 } 
 private void Initialize(ContextMessage context)
 { 
     GeoFilter = context.GeoFilter;
     TimeFilter = context.TimeFilter;
     MessageDateTime = DateTime.Now; 
 }
 public void setContext(ContextMessage contextMessage)
 {
     _hubManager.SetContext(contextMessage);
 }