public List <City> GetAll()
        {
            if (SessionData.Contains("Cities"))
            {
                return(SessionData.Get <List <City> >("Cities"));
            }

            var ret    = new List <City>();
            var result = SqlDataAccess.ExecuteDataTableQuery(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString(),
                                                             "GRUPO_N.GetCiudades");

            if (result != null)
            {
                foreach (DataRow row in result.Rows)
                {
                    ret.Add(new City()
                    {
                        ID = int.Parse(row["ID"].ToString()), Name = row["Descripcion"].ToString()
                    });
                }
            }

            SessionData.Set("Cities", ret);

            return(ret);
        }
        /// <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");
        }
Пример #3
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);
            }
        }
        /// <summary>
        /// Obtiene el listado de clientes del sistema
        /// </summary>
        /// <returns>Listado de clientes</returns>
        public BindingList <Cliente> GetAll()
        {
            if (SessionData.Contains("Clients"))
            {
                return(SessionData.Get <BindingList <Cliente> >("Clients"));
            }
            var result = SqlDataAccess.ExecuteDataTableQuery(ConfigurationManager.ConnectionStrings["GrouponConnectionString"].ToString(),
                                                             "GRUPO_N.GetClientes");
            var clientes = new BindingList <Cliente>();

            if (result != null && result.Rows != null)
            {
                foreach (DataRow row in result.Rows)
                {
                    clientes.Add(new Cliente()
                    {
                        Apellido        = row["Apellido"].ToString(),
                        Nombre          = row["Nombre"].ToString(),
                        UserID          = int.Parse(row["ID"].ToString()),
                        UserName        = row["UserName"].ToString(),
                        RoleID          = int.Parse(row["ID_Rol"].ToString()),
                        FechaNacimiento = Convert.ToDateTime(row["FechaNacimiento"]),
                        DNI             = long.Parse(row["DNI"].ToString()),
                        Ciudades        = GetCiudades(int.Parse(row["ID"].ToString())),
                        DetalleEntidad  = new DetalleEntidad()
                        {
                            Email     = row["Email"].ToString(),
                            Direccion = row["Direccion"].ToString(),
                            CP        = row["CP"].ToString(),
                            Telefono  = long.Parse(row["Telefono"].ToString()),
                            Ciudad    = new City()
                            {
                                ID = int.Parse(row["ID_Ciudad"].ToString())
                            }
                        }
                    });
                }
            }
            SessionData.Set("Clients", clientes);
            return(clientes);
        }