public ActionResult GlobalParameter_Update([DataSourceRequest] DataSourceRequest request, ViewModelParametroGeneral model)
        {
            try
            {
                Models.Data.EkiibrateDBEntities db = new Models.Data.EkiibrateDBEntities(true);

                var original = db.ParametroGeneral.Find(model.IdParametroGeneral);
                model.TransacUser     = this.HttpContext.GetActualUser().NombreUsuario;
                model.TransacDateTime = DateTime.Now;
                if (ModelState.IsValid && original != null)
                {
                    switch (model.IdParametroTipo)
                    {
                    case (int)EParametroTipo.Entero:
                        Convert.ToInt32(model.Valor);
                        break;

                    case (int)EParametroTipo.Decimal:
                        Convert.ToDecimal(model.Valor);
                        break;

                    case (int)EParametroTipo.Booleano:
                        Convert.ToBoolean(model.Valor);
                        break;

                    case (int)EParametroTipo.FechaHora:
                        Convert.ToDateTime(model.Valor);
                        break;

                    case (int)EParametroTipo.Hora:
                        Convert.ToDateTime(model.Valor);
                        break;

                    case (int)EParametroTipo.EncryptString:
                        BarcoSoftUtilidades.Utilidades.Cryptography.Decrypt(model.Valor);
                        break;
                    }

                    db.Entry(original).CurrentValues.SetValues(model);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
            }
            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult GlobalParameter_Destroy([DataSourceRequest] DataSourceRequest request, ViewModelParametroGeneral model)
        {
            try
            {
                Models.Data.EkiibrateDBEntities db = new Models.Data.EkiibrateDBEntities(true);
                var original = db.ParametroGeneral.Find(model.IdParametroGeneral);
                model.TransacUser     = this.HttpContext.GetActualUser().NombreUsuario;
                model.TransacDateTime = DateTime.Now;
                model.Activo          = false;
                if (ModelState.IsValid && original != null)
                {
                    db.Entry(original).CurrentValues.SetValues(model);
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
            }

            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }
        public ActionResult GlobalParameter_Create([DataSourceRequest] DataSourceRequest request, ViewModelParametroGeneral model)
        {
            try
            {
                ParametroGeneral efModel           = model.CopyPropertiesTo(new ParametroGeneral());
                Models.Data.EkiibrateDBEntities db = new Models.Data.EkiibrateDBEntities(true);
                efModel.Activo          = true;
                efModel.TransacUser     = this.HttpContext.GetActualUser().NombreUsuario;
                efModel.TransacDateTime = DateTime.Now;
                if (ModelState.IsValid)
                {
                    try
                    {
                        switch (efModel.IdParametroTipo)
                        {
                        case (int)EParametroTipo.String:
                            Convert.ToString(model.Valor);
                            break;

                        case (int)EParametroTipo.Entero:
                            Convert.ToInt32(model.Valor);
                            break;

                        case (int)EParametroTipo.Decimal:
                            Convert.ToDecimal(model.Valor);
                            break;

                        case (int)EParametroTipo.Booleano:
                            Convert.ToBoolean(model.Valor);
                            break;

                        case (int)EParametroTipo.FechaHora:
                            Convert.ToDateTime(model.Valor);
                            break;

                        case (int)EParametroTipo.Hora:
                            Convert.ToDateTime(model.Valor);
                            break;

                        case (int)EParametroTipo.EncryptString:
                            BarcoSoftUtilidades.Utilidades.Cryptography.Decrypt(model.Valor);
                            break;
                        }
                        db.ParametroGeneral.Add(efModel);
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("Valor", ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
            }
            return(Json(new[] { model }.ToDataSourceResult(request, ModelState)));
        }