예제 #1
0
    public ErrorAppRemax Remove(int houseId)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        // TODO: check whether the House has ever taken part in any Sale transaction.

        // result is the number of affected rows.
        int result = DataSource.DeleteHouse(houseId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the deleting works fine only one row should be affected.

            _list.Remove(houseId);

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The delete operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #2
0
    public ErrorAppRemax Save(House house)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        // result is the number of affected rows.
        int result = DataSource.UpdateHouse(house.HouseId, (int)house.BuildingType, house.Street, house.ApartmentNo,
                                            house.PostalCode, house.City.CityId, house.Country.CountryId, house.MakingYear, house.Bathrooms, house.Bedrooms,
                                            house.Area, house.Description, house.Price, house.Tax, house.Seller.ClientId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the updating works fine only one row should be affected.

            // Locating the corresponding House object inside _list.
            House existingHouse = FindByHouseId(house.HouseId);
            // Updating the House object inside _list.
            existingHouse.HouseId      = house.HouseId;
            existingHouse.BuildingType = house.BuildingType;
            existingHouse.Street       = house.Street;
            existingHouse.ApartmentNo  = house.ApartmentNo;
            existingHouse.PostalCode   = house.PostalCode;
            existingHouse.City         = house.City;
            existingHouse.Country      = house.Country;
            existingHouse.MakingYear   = house.MakingYear;
            existingHouse.Bathrooms    = house.Bathrooms;
            existingHouse.Bedrooms     = house.Bedrooms;
            existingHouse.Area         = house.Area;
            existingHouse.Description  = house.Description;
            existingHouse.Price        = house.Price;
            existingHouse.Tax          = house.Tax;
            existingHouse.Seller       = house.Seller;

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The save operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #3
0
    public ErrorAppRemax Add(Employee employee)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        if (_list.ContainsKey(employee.EmployeeId))
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "There is another Employee with this same Employee Id.";
            return(err);
        }

        // Checking whether there is another Employee with the same Username.
        if (FindByUsername(employee.Username) != null)
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "There is another Employee with this same Username.";
            return(err);
        }

        // result is the number of affected rows.
        // The initial password is equal to the Username.
        int result = DataSource.AddEmployee(employee.FirstName, employee.LastName, employee.BirthDate, employee.Email, employee.Gender.GenderId,
                                            employee.Phone, employee.City.CityId, (int)employee.Position, employee.Salary, employee.Username, employee.Username);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the adding works fine only one row should be affected.

            // Reloading _list.
            LoadEmployees();

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The add operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #4
0
    public ErrorAppRemax Remove(int employeeId)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        // **** Checking whether the Employee being removed is assigned to any Client as an Agent.
        // Retrieving the Employee.
        Employee employee = FindByEmployeeId(employeeId);
        // Retrieving the list of Clients for which the Employee is assigned as an Agent.
        List <Client> lstClients = (new ClientList()).GetClientsByAgent(employee);

        // If there is any Client then the Employee cannot be removed.
        if (lstClients.Count != 0)
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "This Employee cannot be removed. She/he is the Agent of one or more Clients.";
            return(err);
        }

        // result is the number of affected rows.
        int result = DataSource.DeleteEmployee(employeeId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the deleting works fine only one row should be affected.

            _list.Remove(employeeId);

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The delete operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #5
0
    public ErrorAppRemax Remove(int clientId)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        // **** Checking whether the Client being removed is the Seller of any House.
        // Retrieving the Client.
        Client client = FindByClientId(clientId);
        // Retrieving the list of Houses for which the Client is the Seller.
        List <House> lstHouses = (new HouseList()).GetHousesBySeller(client);

        // If there is any House then the Client cannot be removed.
        if (lstHouses.Count != 0)
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "This Client cannot be removed. She/he is the Seller of one or more Houses.";
            return(err);
        }

        // result is the number of affected rows.
        int result = DataSource.DeleteClient(clientId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the deleting works fine only one row should be affected.

            _list.Remove(clientId);

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The delete operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #6
0
    public ErrorAppRemax Save(Client client)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        // result is the number of affected rows.
        int result = DataSource.UpdateClient(client.ClientId, client.FirstName, client.LastName, client.BirthDate,
                                             client.Email, client.Phone, (int)client.ClientType, client.Agent.EmployeeId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the updating works fine only one row should be affected.

            // Locating the corresponding Client object inside _list.
            Client existingClient = FindByClientId(client.ClientId);
            // Updating the Client object inside _list.
            existingClient.FirstName  = client.FirstName;
            existingClient.LastName   = client.LastName;
            existingClient.BirthDate  = client.BirthDate;
            existingClient.Email      = client.Email;
            existingClient.Phone      = client.Phone;
            existingClient.ClientType = client.ClientType;
            existingClient.Agent      = client.Agent;

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The save operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #7
0
    public ErrorAppRemax Add(House house)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        if (_list.ContainsKey(house.HouseId))
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "There is another House with this same House Id.";
            return(err);
        }

        // result is the number of affected rows.
        int result = DataSource.AddHouse((int)house.BuildingType, house.Street, house.ApartmentNo, house.PostalCode,
                                         house.City.CityId, house.Country.CountryId, house.MakingYear, house.Bathrooms, house.Bedrooms, house.Area,
                                         house.Description, house.Price, house.Tax, house.Seller.ClientId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the adding works fine only one row should be affected.

            // Reloading _list.
            LoadHouses();

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The add operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #8
0
    public ErrorAppRemax Add(Client client)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        if (_list.ContainsKey(client.ClientId))
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "There is another Client with this same Client Id.";
            return(err);
        }

        // result is the number of affected rows.
        int result = DataSource.AddClient(client.FirstName, client.LastName, client.BirthDate,
                                          client.Email, client.Phone, (int)client.ClientType, client.Agent.EmployeeId);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the adding works fine only one row should be affected.

            // Reloading _list.
            LoadClients();

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The add operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }
예제 #9
0
    public ErrorAppRemax Save(Employee employee)
    {
        ErrorAppRemax err = new ErrorAppRemax();

        // **** Checking whether the Employee:
        // 1. Is being saved with a Position different than Agent.
        // 2. Is already assigned to any Client as an Agent.
        // If this is the case then the Employee cannot be changed to another Position.

        // Retrieving the Position of the Employee being saved.
        Position position = employee.Position;

        // If the Employee is not being saved as an Agent...
        if (position != Position.Agent)
        {
            // ...need to check whether she/he has any client assigned.

            // Retrieving the list of Clients for which the Employee is assigned as an Agent.
            List <Client> lstClients = (new ClientList()).GetClientsByAgent(employee);

            // If there is any Client then the Employee cannot be changed to a Position other than Agent.
            if (lstClients.Count != 0)
            {
                err.ErrorCode    = -1;
                err.ErrorMessage = "This Employee is the Agent of " + lstClients.Count.ToString() + " Clients. The Position cannot be changed.";
                return(err);
            }
        }

        // Updating the Employee.
        // result is the number of affected rows.
        int result = DataSource.UpdateEmployee(employee.EmployeeId, employee.FirstName, employee.LastName, employee.BirthDate,
                                               employee.Email, employee.Gender.GenderId, employee.Phone, employee.City.CityId, (int)employee.Position, employee.Salary);

        // Any error occurred?
        if (DataSource.ErrorCode() != 0)
        {
            err.ErrorCode    = DataSource.ErrorCode();
            err.ErrorMessage = DataSource.ErrorMessage();
            return(err);
        }

        if (result == 1)
        {
            // If the updating works fine only one row should be affected.

            // Locating the corresponding Employee object inside _list.
            Employee existingEmployee = FindByEmployeeId(employee.EmployeeId);
            // Updating the Employee object inside _list.
            existingEmployee.FirstName = employee.FirstName;
            existingEmployee.LastName  = employee.LastName;
            existingEmployee.BirthDate = employee.BirthDate;
            existingEmployee.Email     = employee.Email;
            existingEmployee.Gender    = employee.Gender;
            existingEmployee.Phone     = employee.Phone;
            existingEmployee.City      = employee.City;
            existingEmployee.Position  = employee.Position;
            existingEmployee.Salary    = employee.Salary;

            return(err);
        }
        else
        {
            err.ErrorCode    = -1;
            err.ErrorMessage = "The save operation was not successful (" + result.ToString() + " rows affected). Please check the database.";
            return(err);
        }
    }