示例#1
0
        public IActionResult Put(int carId, int reservationId, [FromBody] int newCopmanyRating)
        {
            CarRentalCompany Company = new CarRentalCompany();
            Car car = new Car();

            car = Cdbl.GetCarObjectById(carId);

            if (Rdbl.IsCompanyRated(reservationId))
            {
                return(BadRequest());
            }
            else
            {
                Rdbl.SetCompanyRate(reservationId);
                Company        = Crdbl.FindCompanyByName(car.NameOfCompany);
                Company.Rating = (Company.Rating * Company.RatingCounter + newCopmanyRating) / (Company.RatingCounter + 1);
                Company.RatingCounter++;
                if (Crdbl.EditCarRentalCompany(Company))
                {
                    return(Ok());
                }
                else
                {
                    return(BadRequest());
                }
            }
        }
示例#2
0
        public CarRentalCompany FindCompanyByName(string name)
        {
            CarRentalCompany c         = new CarRentalCompany();
            bool             boolvalue = false;

            lock (Obj)
            {
                using (var access = new DatabaseAccess())
                {
                    var companies = access.CarRentalCompaies;

                    foreach (var company in companies)
                    {
                        if (company.Name == name)
                        {
                            boolvalue = true;
                            c         = company;
                        }
                    }
                }
                if (boolvalue)
                {
                    return(c);
                }
                else
                {
                }

                return(null);
            }
        }
示例#3
0
        public bool AddCarRentalCompany(CarRentalCompany newCompany)
        {
            lock (Obj)
            {
                using (var acess = new DatabaseAccess())
                {
                    var companies = acess.CarRentalCompaies;
                    foreach (var company in companies)
                    {
                        if (company.Name == newCompany.Name)
                        {
                            return(false);
                        }
                    }

                    acess.CarRentalCompaies.Add(newCompany);
                    int valid = acess.SaveChanges();
                    if (valid > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
        }
示例#4
0
 public bool EditCarRentalCompany(CarRentalCompany newCompany)
 {
     lock (Obj)
     {
         using (var acess = new DatabaseAccess())
         {
             var companies = acess.CarRentalCompaies;
             foreach (var company in companies)
             {
                 if (company.Id == newCompany.Id)
                 {
                     company.Name          = newCompany.Name;
                     company.Address       = newCompany.Address;
                     company.Branches      = newCompany.Branches;
                     company.PriceList     = newCompany.PriceList;
                     company.About         = newCompany.About;
                     company.Rating        = newCompany.Rating;
                     company.RatingCounter = newCompany.RatingCounter;
                 }
             }
             int valid = acess.SaveChanges();
             if (valid > 0)
             {
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
 }
        public IActionResult Post([FromBody] CarRentalCompany company)
        {
            CarRentalCompany newCompany = new CarRentalCompany();

            newCompany.Name      = company.Name;
            newCompany.Address   = company.Address;
            newCompany.Branches  = company.Branches;
            newCompany.PriceList = company.PriceList;
            newCompany.About     = company.About;
            if (Crdbl.AddCarRentalCompany(newCompany))
            {
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
        public IActionResult Put(int id, [FromBody] CarRentalCompany editedCompany)
        {
            CarRentalCompany company     = new CarRentalCompany();
            CarRentalCompany companyTemp = new CarRentalCompany();

            companyTemp = Crdbl.FindCompanyById(editedCompany.Id);
            //moramo izmeniti i administratore i automobile te kompanije zbog polja companyName
            Udbl.EditUserByCompanyName(companyTemp.Name, editedCompany.Name);
            Cdbl.EditCarsCompanyName(editedCompany.Name, editedCompany.Id);

            company.Id            = editedCompany.Id;
            company.Name          = editedCompany.Name;
            company.Address       = editedCompany.Address;
            company.Branches      = editedCompany.Branches;
            company.PriceList     = editedCompany.PriceList;
            company.About         = editedCompany.About;
            company.Rating        = companyTemp.Rating;
            company.RatingCounter = companyTemp.RatingCounter;

            //proveravamo da li je novoizabrano ime kompanije dozvoljeno
            //ne mogu postojati dve kompanije sa istim imenom
            //ali prvo moramo da provrimo da li se ime uopste menja
            //jer ako se ne menja ne moramo da proveravamo da li je ime odgovarajuce
            if (editedCompany.Name != companyTemp.Name)
            {
                if (Crdbl.CheckCompanyName(company.Name))
                {
                    Crdbl.EditCarRentalCompany(company);
                    return(Ok());
                }
                else
                {
                    return(BadRequest());
                }
            }
            else
            {
                Crdbl.EditCarRentalCompany(company);
                return(Ok());
            }
        }
        public void PopulateCarRentalCompanies(string about, string address, string name, string priceList, string branches, double rating, int ratingCounter)
        {
            CarRentalCompany carRentalCompany = new CarRentalCompany();

            carRentalCompany.About         = about;
            carRentalCompany.Address       = address;
            carRentalCompany.Branches      = branches;
            carRentalCompany.Name          = name;
            carRentalCompany.Rating        = rating;
            carRentalCompany.RatingCounter = ratingCounter;
            carRentalCompany.PriceList     = priceList;
            Crdbl.AddCarRentalCompany(carRentalCompany);
            PopulateCars("mercedes", "m2000", "caravan", 2010, 5, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("toyota", "t2000", "caravan", 2007, 5, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("ford", "f2000", "caravan", 1990, 5, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("audi", "a2000", "caravan", 2000, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
            PopulateCars("fiat", "f2000", "caravan", 2011, 4, carRentalCompany.Id, carRentalCompany.Name, 0, 0);
        }
示例#8
0
        public IActionResult Post([FromBody]  Car newCar)
        {
            Car car = new Car();
            CarRentalCompany company = new CarRentalCompany();

            car.NameOfCompany = newCar.NameOfCompany;
            company           = Crdbl.FindCompanyByName(newCar.NameOfCompany);

            car.CarRenalId    = company.Id;
            car.Mark          = newCar.Mark;
            car.Model         = newCar.Model;
            car.Type          = newCar.Type;
            car.Year          = newCar.Year;
            car.NumberOfSeats = newCar.NumberOfSeats;


            if (Cdbl.AddCar(car))
            {
                return(Ok());
            }
            {
                return(BadRequest());
            }
        }
示例#9
0
 public CarRentalCompanyDTO(CarRentalCompany company)
 {
     Global.Mapper.Map(company, this);
 }