Ejemplo n.º 1
0
        public static dynamic getModel(Guid userId)
        {
            var result          = new IMAC_sysContext().Database.SqlQuerySmart <dashboardDieta>("usp_IMAC_Dashboard_GetModel").ToList();
            var tiposDieta      = result.Select(x => x.DietaTipo).Distinct().ToList();
            var obrasSociales   = new IMAC_sysContext().Database.SqlQuerySmart <dashboardOSocial>("usp_IMAC_Dashboard_ObraSocialDieta").ToList();
            var admisionesaltas = new IMAC_sysContext().Database.SqlQuerySmart <dashboardAdmisionesAltas>("usp_IMAC_Dashboard_Admisiones_Get").ToList();

            var returnValue = new
            {
                dietas = tiposDieta.Select(x => new
                {
                    label = x,
                    value = result.Count(y => y.DietaTipo == x)
                }).ToList(),
                obrasSociales = new
                {
                    labels = new List <string>()
                    {
                        "Días de Internación", "Dietas entregadas", "Días de Internación (Alta)"
                    },                                                                                                       //obrasSociales.Select(x => x.ObraSocial).ToList(),
                    datasets = obrasSociales.Select(x => new
                    {
                        label = x.ObraSocial,
                        data  = new List <int>()
                        {
                            x.DiasInternacion, x.Dietas, x.DiasAlta
                        }
                    }).ToList()
                },
                admalt = new
                {
                    labels   = admisionesaltas.Select(x => x.fecha).ToList(),
                    datasets = admaltDatasets(admisionesaltas)
                },
                admaltdetalle = new
                {
                    labels   = admisionesaltas.Select(x => x.fecha).ToList(),
                    datasets = admaltDetalleDatasets(admisionesaltas)
                }
            };

            return(returnValue);
        }
Ejemplo n.º 2
0
 public static dynamic getSexos()
 {
     try
     {
         using (var db = new IMAC_sysContext())
         {
             var result = db.Database.SqlQuerySmart <Option>("usp_IMAC_TipoSexo_Get").ToList();
             return(result.Select(x => new
             {
                 id = x.Id,
                 text = x.Texto
             }));
         }
     }
     catch
     {
         throw;
     }
 }
Ejemplo n.º 3
0
 public static dynamic getTiposDocumento()
 {
     try
     {
         using (var db = new IMAC_sysContext())
         {
             var result = db.Database.SqlQuerySmart <Option>("usp_IMAC_TiposDocumento_Get").ToList();
             return(result.Select(x => new
             {
                 id = x.Id,
                 text = x.Texto,
                 description = x.Descripcion
             }));
         }
     }
     catch
     {
         throw;
     }
 }
Ejemplo n.º 4
0
        public static appUser UserLogin(string username, string password)
        {
            username = username.ToLower();
            using (var db = new IMAC_usuariosContext())
            {
                var result = db.Database.SqlQuerySmart <password_with_format>("usp_IMAC_Usuario_GetPaswordHashAndSalt", new
                {
                    ApplicationName             = "IMAC",
                    UserName                    = username,
                    UpdateLastLoginActivityDate = true
                }).FirstOrDefault();

                if (result == null)
                {
                    throw new Exception("User not found");
                }

                if (result.IsLockedOut)
                {
                    throw new Exception("User locked out");
                }

                var validated = ValidatePassword(password, result.Password, result.PasswordSalt);

                if (!validated)
                {
                    int countToBlock = 3;
                    if (ConfigurationManager.AppSettings.Get("CountToBlock") != null)
                    {
                        Int32.TryParse(ConfigurationManager.AppSettings.Get("CountToBlock"), out countToBlock);
                    }
                    var invalidPasswordCount = db.Database.SqlQuerySmart <invalid_password_count_result>("usp_IMAC_Usuario_InvalidPassword", new
                    {
                        UserId       = result.UserId,
                        CountToBlock = countToBlock
                    }).FirstOrDefault();
                    if (invalidPasswordCount.LockedOut)
                    {
                        throw new Exception("User locked out");
                    }
                    throw new Exception("Invalid Password");
                }
                var person = new LoginPerfilGet();
                var roles  = new List <string>();
                if (result.IsApproved)
                {
                    person = new IMAC_sysContext().Database.SqlQuerySmart <LoginPerfilGet>("usp_IMAC_Usuario_LoginPerfilGet", new
                    {
                        UserId = result.UserId
                    }).FirstOrDefault();
                    roles = db.Database.SqlQuerySmart <string>("aspnet_UsersInRoles_GetRolesForUser", new
                    {
                        ApplicationName = "IMAC",
                        UserName        = username
                    }).ToList();
                }
                return(new appUser()
                {
                    UserId = result.UserId,
                    roles = roles,
                    username = username,
                    nombre = person != null ? person.Nombre : null,
                    isApproved = result.IsApproved,
                    lastlogin = result.LastLoginDate.HasValue ? (result.LastLoginDate.Value.ToShortDateString() + " - " + result.LastLoginDate.Value.ToShortTimeString()) : "",
                    picture = person != null ? person.Picture : null
                });
            }
        }