Ejemplo n.º 1
0
        /// <summary>
        /// Guarda un cliente en la base de datos
        /// </summary>
        public void GuardarCliente(Cliente cliente, string password)
        {
            var usersManager        = new UsersManager();
            var entityDetailManager = new DetalleEntidadManager();

            if (cliente.UserID == 0)
            {
                var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString());
                try
                {
                    SessionData.Set("Transaction", transaction);
                    cliente.UserID = usersManager.CreateProfileAccount(cliente as User, Cliente.Profile, password);
                    var detalleID = entityDetailManager.AddDetalleEntidad(cliente as User);
                    SqlDataAccess.ExecuteNonQuery(
                        "GRUPO_N.InsertCliente", SqlDataAccessArgs
                        .CreateWith("@DNI", cliente.DNI)
                        .And("@ID", cliente.UserID)
                        .And("@Nombre", cliente.Nombre)
                        .And("@Apellido", cliente.Apellido)
                        .And("@FechaNacimiento", cliente.FechaNacimiento)
                        .Arguments,
                        transaction);

                    SessionData.Remove("Transaction");
                    SqlDataAccess.Commit(transaction);
                }
                catch
                {
                    SqlDataAccess.Rollback(transaction);
                    cliente.UserID = 0;
                    throw;
                }
            }
            else
            {
                entityDetailManager.UpdateDetalleEntidad(cliente as User);
                SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString(),
                                              "GRUPO_N.UpdateCliente", SqlDataAccessArgs
                                              .CreateWith("@DNI", cliente.DNI)
                                              .And("@ID", cliente.UserID)
                                              .And("@Nombre", cliente.Nombre)
                                              .And("@Apellido", cliente.Apellido)
                                              .And("@FechaNacimiento", cliente.FechaNacimiento)
                                              .Arguments);
            }
            AddCiudades(cliente);
            SessionData.Remove("Clients");
        }
Ejemplo n.º 2
0
        public void GuardarProveedor(Proveedor proveedor, string password)
        {
            var usersManager        = new UsersManager();
            var entityDetailManager = new DetalleEntidadManager();

            if (proveedor.UserID == 0)
            {
                var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString());
                try
                {
                    SessionData.Set("Transaction", transaction);
                    proveedor.UserID = usersManager.CreateProfileAccount(proveedor as User, Proveedor.Profile, password);
                    var detalleID = entityDetailManager.AddDetalleEntidad(proveedor as User);

                    SqlDataAccess.ExecuteNonQuery(
                        "GRUPO_N.InsertProveedor", SqlDataAccessArgs
                        .CreateWith("@RazonSocial", proveedor.RazonSocial)
                        .And("@ID", proveedor.UserID)
                        .And("@ID_Rubro", proveedor.Rubro.ID)
                        .And("@CUIT", proveedor.CUIT)
                        .And("@Contacto", proveedor.NombreContacto)
                        .Arguments,
                        transaction);

                    SessionData.Remove("Transaction");
                    SqlDataAccess.Commit(transaction);
                }
                catch
                {
                    SqlDataAccess.Rollback(transaction);
                    proveedor.UserID = 0;
                    throw;
                }
            }
            else
            {
                entityDetailManager.UpdateDetalleEntidad(proveedor as User);
                SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString(),
                                              "GRUPO_N.UpdateProveedor", SqlDataAccessArgs
                                              .CreateWith("@RazonSocial", proveedor.RazonSocial)
                                              .And("@ID", proveedor.UserID)
                                              .And("@ID_Rubro", proveedor.Rubro.ID)
                                              .And("@CUIT", proveedor.CUIT)
                                              .And("@Contacto", proveedor.NombreContacto)
                                              .Arguments);
            }
        }
        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);
        }
        public long GuardarAfiliado(Afiliado afiliado)
        {
            var usersManager     = new UsersManager();
            var _detallesManager = new DetallePersonaManager();

            if (afiliado.UserID == 0)//NUEVO USUARIO
            {
                var transaction = SqlDataAccess.OpenTransaction(ConfigurationManager.ConnectionStrings["StringConexion"].ToString());
                try
                {
                    afiliado.UserID = usersManager.insertarUsuario(afiliado as User);
                    var detalleID = _detallesManager.AddDetallePersona(afiliado as User);
                    if (afiliado.NroAfiliado == 0)//Primero del grupo familiar
                    {
                        afiliado.NroAfiliado = SqlDataAccess.ExecuteScalarQuery <int>(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(),
                                                                                      "[SHARPS].InsertAfiliado", SqlDataAccessArgs
                                                                                      .CreateWith("@PlanMedico", afiliado.PlanMedico.ID)
                                                                                      .And("@ID", afiliado.UserID)
                                                                                      .And("@EstadoCivil", afiliado.EstadoCivil)
                                                                                      .And("@CantHijos", afiliado.CantHijos)
                                                                                      .Arguments);
                        //Inserta, y devuelve el grupo familiar que se le creo
                    }
                    else
                    {
                        afiliado.NroAfiliado = SqlDataAccess.ExecuteScalarQuery <int>(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(),
                                                                                      "[SHARPS].InsertMiembroGrupoFamiliar", SqlDataAccessArgs
                                                                                      .CreateWith("@PlanMedico", afiliado.PlanMedico.ID)
                                                                                      .And("@EstadoCivil", afiliado.EstadoCivil)
                                                                                      .And("@CantHijos", afiliado.CantHijos)
                                                                                      .And("@RolAfiliado", afiliado.RoleID)
                                                                                      .And("@GrupoFamiliar", afiliado.NroAfiliado)
                                                                                      .And("@TipoAfiliado", afiliado.tipoAfiliado)
                                                                                      .And("@UserID", afiliado.UserID)
                                                                                      .Arguments);
                        //Inserta el usuario, y le paso el tipo de afiliado
                    }
                    SessionData.Remove("Transaction");
                    SqlDataAccess.Commit(transaction);
                    return(afiliado.NroAfiliado);
                }catch {
                    SqlDataAccess.Rollback(transaction);
                    afiliado.UserID = 0;
                    throw;
                }
            }
            else
            {
                _detallesManager.UpdateDetallePersona(afiliado.DetallesPersona, afiliado.UserID);
                SqlDataAccess.ExecuteNonQuery(ConfigurationManager.ConnectionStrings["StringConexion"].ToString(),
                                              "[SHARPS].UpdateAfiliado", SqlDataAccessArgs
                                              .CreateWith("@PlanMedico", afiliado.PlanMedico.ID)
                                              .And("@ID", afiliado.UserID)
                                              .And("@EstadoCivil", afiliado.EstadoCivil)
                                              .And("@RolAfiliado", afiliado.RoleID)
                                              .And("@CantHijos", afiliado.CantHijos)
                                              .And("@Motivo", afiliado.MotivoCambio)
                                              .Arguments);
                //Guarda la informacion del usuario
                return(0);
            }
        }