public BindingList <Profesional> GetAll()
        {
            if (SessionData.Contains("Profesionales"))
            {
                return(SessionData.Get <BindingList <Profesional> >("Profesionales"));
            }
            var result = SqlDataAccess.ExecuteDataTableQuery(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(),
                                                             "[SHARPS].GetProfesionales");
            //Todos los profesionales activos
            var profesionales            = new BindingList <Profesional>();
            EspecialidadesManager espMan = new EspecialidadesManager();

            if (result != null && result.Rows != null)
            {
                foreach (DataRow row in result.Rows)
                {
                    Profesional profesional = new Profesional();
                    profesional.UserID   = int.Parse(row["ID"].ToString());
                    profesional.UserName = row["UserName"].ToString();

                    profesional.FaltanDatos = bool.Parse(row["FaltanDatos"].ToString());
                    if (!DBNull.Value.Equals(row["Matricula"]))
                    {
                        profesional.Matricula = row["Matricula"].ToString();
                    }

                    profesional.DetallesPersona                 = new DetallesPersona();
                    profesional.DetallesPersona.Apellido        = row["Apellido"].ToString();
                    profesional.DetallesPersona.Nombre          = row["Nombre"].ToString();
                    profesional.DetallesPersona.FechaNacimiento = Convert.ToDateTime(row["FechaNacimiento"]);
                    profesional.DetallesPersona.DNI             = long.Parse(row["DNI"].ToString());
                    profesional.DetallesPersona.Email           = row["Email"].ToString();
                    profesional.DetallesPersona.Direccion       = row["Direccion"].ToString();
                    profesional.DetallesPersona.Telefono        = long.Parse(row["Telefono"].ToString());
                    if (!DBNull.Value.Equals(row["Sexo"]))
                    {
                        profesional.DetallesPersona.Sexo = (TipoSexo)Enum.Parse(typeof(TipoSexo), row["Sexo"].ToString());
                    }
                    if (!DBNull.Value.Equals(row["TipoDoc"]))
                    {
                        profesional.DetallesPersona.TipoDNI = (TipoDoc)Enum.Parse(typeof(TipoDoc), row["TipoDoc"].ToString());
                    }


                    profesional.Especialidades = espMan.GetAllForUser(profesional.UserID);
                    profesionales.Add(profesional);
                }
            }
            SessionData.Set("Profesionales", profesionales);
            return(profesionales);
        }
        public void GuardarProfesional(Profesional profesional)
        {
            var usersManager        = new UsersManager();
            var entityDetailManager = new DetallePersonaManager();

            if (profesional.UserID == 0)//Profesional nuevo
            {
                var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["StringConexion"].ToString());
                try
                {
                    SessionData.Set("Transaction", transaction);

                    profesional.UserID = usersManager.insertarUsuario(profesional as User);

                    var detalleID = entityDetailManager.AddDetallePersona(profesional as User);

                    SqlDataAccess.ExecuteNonQuery(
                        "[SHARPS].InsertProfesional", SqlDataAccessArgs
                        .CreateWith("@Matricula", profesional.Matricula)
                        .And("@ID", profesional.UserID)
                        .And("@Rol", profesional.RoleID)
                        .Arguments,
                        transaction);

                    SessionData.Remove("Transaction");
                    SqlDataAccess.Commit(transaction);
                }
                catch
                {
                    SqlDataAccess.Rollback(transaction);
                    profesional.UserID = 0;
                    throw;
                }
            }
            else //Editando un profesional
            {
                entityDetailManager.UpdateDetallePersona(profesional.DetallesPersona, profesional.UserID);
                SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(),
                                              "[SHARPS].UpdateProfesional", SqlDataAccessArgs
                                              .CreateWith("@Matricula", profesional.Matricula)
                                              .And("@ID", profesional.UserID)
                                              .Arguments);
            }
            InsertarEspecialidades(profesional);
        }
Exemplo n.º 3
0
        public List <Especialidad> GetAll()
        {
            if (SessionData.Contains("Especialidades"))
            {
                return(SessionData.Get <List <Especialidad> >("Especialidades"));
            }
            var ret    = new List <Especialidad>();
            var result = SqlDataAccess.ExecuteDataTableQuery(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(),
                                                             "[SHARPS].GetAllEspecialidades");

            if (result != null)
            {
                foreach (DataRow row in result.Rows)
                {
                    ret.Add(new Especialidad()
                    {
                        ID     = int.Parse(row["ID"].ToString()),
                        Nombre = row["Descripcion"].ToString()
                    });
                }
            }
            SessionData.Set("Especialidades", ret);
            return(ret);
        }