Пример #1
0
        public ActionResult Checkout(string name, string phone, string address)
        {
            Tenants tenant = new Tenants {
                fname = name, phone = phone, address = address
            };

            db.Tenants.Add(tenant);
            db.SaveChanges();

            List <Renters> renters = new List <Renters>();

            foreach (Gowns gown in (Session["listOfGowns"] as List <Gowns>))
            {
                Tenants currentTenant = db.Tenants.FirstOrDefault(p => p.fname == name && p.phone == phone && p.address == address);
                Rents   newRent       = new Rents()
                {
                    id_gown = gown.id_gown, id_tenant = currentTenant.id_tenant, payment = gown.price
                };
                if (Session["searchDetails"] != null)
                {
                    newRent.date = ((SearchDetails)Session["searchDetails"]).date;
                }
                db.Rents.Add(newRent);

                renters.Add(db.Renters.FirstOrDefault(p => p.id_renter == gown.id_renter));
            }
            db.SaveChanges();
            return(View("RentsDetails", renters));
        }
Пример #2
0
        public async Task Create_ShouldCreated()
        {
            var oldCount = Rents.Count;
            var rent     = new RentDto()
            {
                Id         = Random.Next(int.MaxValue),
                Count      = 5,
                IsActive   = true,
                Book       = Mapper.Map <BookDto>(DefaultData.Books.ClrVia),
                Subscriber = Mapper.Map <SubscriberDto>(DefaultData.Subscribers.Maslov),
                Date       = DateTime.Now
            };
            await RentsService.Create(rent);

            Assert.That(Rents.Count, Is.EqualTo(oldCount + 1));
            var created = Rents.SingleOrDefault(x => x.Id == rent.Id);

            Assert.That(created, Is.Not.Null);
            Assert.That(created.Count, Is.EqualTo(rent.Count));
            Assert.That(created.IsActive, Is.EqualTo(rent.IsActive));
            Assert.That(created.Date, Is.EqualTo(created.Date));

            Assert.That(created.Subscriber.Fio, Is.EqualTo(rent.Subscriber.ToString()));
            Assert.That(created.Book.Id, Is.EqualTo(rent.Book.Id));
        }
Пример #3
0
        public static string ValidXML(Rents rent)
        {
            //load xml file with rent class

            System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
            System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(rent.GetType());
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
            {
                serializer.Serialize(ms, rent);
                ms.Position = 0;
                xmlDoc.Load(ms);

                File.WriteAllText(Path.GetFullPath("../VideoClubApiRest.Infraestructure/Validators/XMLFile1.xml"), xmlDoc.InnerXml);
            }

            //Load the XmlSchemaSet.
            XmlSchemaSet schemaSet = new XmlSchemaSet();

            schemaSet.Add("", Path.GetFullPath("../VideoClubApiRest.Infraestructure/Validators/RentsXMLSchema.xsd"));

            //Validate the file using the schema stored in the schema set.
            //Any elements belonging to the namespace "urn:cd-schema" generate
            //a warning because there is no schema matching that namespace.
            Validate(Path.GetFullPath("../VideoClubApiRest.Infraestructure/Validators/XMLFile1.xml"), schemaSet);

            return(results);
        }
Пример #4
0
        private void RentButton_Click(object sender, RoutedEventArgs e)
        {
            if (!BedCountTB.Equals(""))
            {
                int parsed;
                if (int.TryParse(BedCountTB.Text, out parsed))
                {
                    if (parsed > beds || parsed < 0)
                    {
                        Message msg = new Message("Wrong bed number to reservation");
                        msg.ShowDialog();
                    }
                    else
                    {
                        Rents rent = new Rents();
                        rent.startDate  = (DateTime)this.startDate;
                        rent.endDate    = (DateTime)this.endDate;
                        rent.is_actual  = true;
                        rent.pending    = false;
                        rent.isRated    = false;
                        rent.user_id    = LoginService.userId;
                        rent.address_id = address_id;

                        createService.addRent(rent);
                        this.Close();
                    }
                }
                else
                {
                    Message msg = new Message("Wrong bed number to reservation");
                    msg.ShowDialog();
                }
            }
        }
Пример #5
0
        public async Task ItShouldAddARentWithRentsControllerResultOk()
        {
            var dbContext = CreateDatabase();

            //Arrange
            var sut        = new RentsRepository(dbContext);
            var controller = new RentsController(sut);
            var rent       = new Rents {
                RentId = 1, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };
            //Act
            //controller.InsertRents(rent);
            var rent1 = new Rents {
                RentId = 2, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };
            //Act
            //controller.InsertRents(rent1);
            var rent2 = new Rents {
                RentId = 1, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };
            //Act
            var result = await controller.InsertRents(rent2);

            var          result2 = controller.InsertRents(rent1);
            ObjectResult result1 = result as ObjectResult;
            //Assert
            await Assert.IsAssignableFrom <Task <IActionResult> >(result2);

            Assert.Equal(200, result1.StatusCode);
            //Clean up
            dbContext.Dispose();
        }
Пример #6
0
        public List <string> ReadLendedBooks(Rents toRead)
        {
            List <string> listOfBooks = new List <string>();

            using (SQLiteConnection con = new SQLiteConnection("data source=Knjiznica_projektt.db"))
            {
                con.Open();
                //string query = "SELECT b.title, b.year, b.lost, a.name, a.surname, g.genretype, p.publishers, l.name FROM books";
                string           query  = "SELECT b.id_b, b.title, a.name, a.surname, b.lost, b.year, l.name, p.name, g.genretype, r.state, r.date FROM books b INNER JOIN genre g ON g.id_g=b.genre_id INNER JOIN publishers p ON p.id_p=b.publisher_id INNER JOIN rents r ON r.book_id=b.id_b INNER JOIN users u ON r.user_id=u.id_u INNER JOIN locations l ON u.location_id=l.id_l INNER JOIN book_authors s ON s.book_id=b.id_b INNER JOIN authors a ON a.id_a=s.author_id WHERE (r.user_id=" + toRead.user_id + " AND state=1);";
                SQLiteCommand    com    = new SQLiteCommand(query, con);
                SQLiteDataReader reader = com.ExecuteReader();
                while (reader.Read())
                {
                    int    id             = reader.GetInt32(0);
                    string title          = reader.GetString(1);
                    string author_name    = reader.GetString(2);
                    string author_surname = reader.GetString(3);
                    int    lost           = reader.GetInt32(4);
                    string year           = reader.GetString(5);
                    string location_name  = reader.GetString(6);
                    string publisher_name = reader.GetString(7);
                    string genretype      = reader.GetString(8);
                    string state          = reader.GetString(8);
                    string date           = reader.GetString(8);
                    listOfBooks.Add(id + " | " + title + " | " + author_name + " | " + author_surname + " | " + lost + " | " + year + " | " + location_name + " | " + publisher_name + " | " + genretype + " | " + state + " | " + date);
                }
                com.Dispose();
                con.Close();
                return(listOfBooks);
            }
        }
Пример #7
0
        public async Task ItShouldAddARentWithDataExistRentsControllerResultFails()
        {
            var dbContext = CreateDatabase();

            //Arrange
            var sut        = new RentsRepository(dbContext);
            var controller = new RentsController(sut);
            var rent       = new Rents {
                RentId = 1, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };
            //Act
            await controller.InsertRents(rent);

            var rent1 = new Rents {
                RentId = 2, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };
            //Act
            var rent2 = new Rents {
                RentId = 1, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };
            //Act
            await controller.InsertRents(rent1);

            await Assert.ThrowsAsync <InvalidOperationException>(() => controller.InsertRents(rent2));

            //Clean up
            dbContext.Dispose();
        }
Пример #8
0
        public void ItShouldGetArentSuccessfullyIntoDataBaseAsync()
        {
            var dbContext = CreateDatabase();
            //Arrange
            var sut  = new RentsRepository(dbContext);
            var rent = new Rents {
                RentId = 2, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };

            //Act
            sut.InsertRents(rent);
            var rent1 = new Rents {
                RentId = 3, ClientId = (new Guid()).ToString(), ObjectId = (new Guid()).ToString(), Detailssatus = "RENT", Detailsuntil = "2010/01/05"
            };

            //Act
            sut.InsertRents(rent1);
            var rentResult = sut.GetRents();

            Assert.NotNull(rentResult);
            //Assert
            Assert.NotNull(sut);
            Assert.IsAssignableFrom <Task <IEnumerable <Rents> > >(rentResult);
            //Clean up
            dbContext.Dispose();
        }
Пример #9
0
        private void SaveInSession(int carID, Rents rent)
        {
            var car = _carRep.GetById(carID);

            ShopViewModels shopView = new ShopViewModels()
            {
                CarID     = car.Car_ID,
                Model     = car.Model,
                Brand     = car.Brand,
                StartData = rent.StartData,
                EndData   = rent.EndData,
                Price     = rent.Price,
                RentID    = rent.Rent_ID
            };

            // Insert in Cookie client's shopping
            if (Session["FreshOrder"] != null)
            {
                var FOrder = new List <ShopViewModels>();
                FOrder.AddRange(Session["FreshOrder"] as List <ShopViewModels>);
                FOrder.Add(shopView);
            }
            else
            {
                var FOrder = new List <ShopViewModels>();
                FOrder.Add(shopView);
                Session["FreshOrder"] = FOrder;
            }
        }
Пример #10
0
        public ActionResult Create(RetnsViewModels rentV, int cityDropDown)
        {
            try
            {
                // Insert addres for client and return last ID
                int addressId = InsertAddresReturnID(rentV, cityDropDown);

                // Insert client and return last ID
                int clinetId = InsertClientReturnID(rentV, addressId);

                // Get price for selected car
                double price = _carRep.GetAll().Where(i => i.Car_ID == rentV.Car_ID)
                               .Select(p => p.Price).FirstOrDefault();

                var rent = new Rents();
                rent.Car_ID    = rentV.Car_ID;
                rent.Client_ID = clinetId;
                rent.Driver    = rentV.Driver;
                rent.StartData = rentV.StartData;
                rent.EndData   = rentV.EndData;
                rent.Price     = TotalPriceRent(rentV.StartData, rentV.EndData, price);
                //if (Request.IsAuthenticated) { rent.Operator_ID = User.Identity.GetUserId().AsInt(); }

                _rentsRep.Create(rent);
                _rentsRep.Save();
                SaveInSession(rentV.Car_ID, rent);

                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception e)
            {
                return(View(e));
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("ID,UserID,CarID,StartDate,EndDate")] Rents rents)
        {
            if (id != rents.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(rents);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RentsExists(rents.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(rents));
        }
Пример #12
0
        private void Rent()
        {
            bool result = true;

            foreach (var item in ToBeRents)
            {
                item.StartDate = DateTime.Now;
                var rowid = _repo.Add(item);

                item.Book.AvailableCount -= item.Count;
                _repoBook.Update(item.Book);
                SendMsg(new UpdateCountMsg(item.Book));

                result &= rowid > 0;
                if (result)
                {
                    item.Id = rowid;
                    Rents.Insert(0, item);
                }
            }

            if (result)
            {
                Status = string.Format("借出{0}!", result ? "成功" : "失败");
                ToBeRents.Clear();
            }
        }
Пример #13
0
            private static Car ToShortRentsModel(DB.Cars dbItem, UnitOfWork unitOfWork)
            {
                var car =
                    new Car()
                {
                    Id         = dbItem.Id,
                    Color      = (CarColor)dbItem.Color,
                    BodyNumber = dbItem.BodyNumber,
                    Enginge    = dbItem.Engine,
                    Kpp        = dbItem.Kpp,
                    Number     = dbItem.Number,
                    Sts        = dbItem.Sts,
                    TO         = dbItem.TO,
                    Year       = dbItem.Year,
                    Insurance  = dbItem.Insurance,
                    Model      = CarModels.Read(dbItem.Model.Id, unitOfWork),
                    Mileage    = dbItem.Mileage,
                    SiteId     = dbItem.SiteId,
                    User       = Users.Read(dbItem.User.Id, unitOfWork),
                    Deleted    = dbItem.Deleted
                };

                if (dbItem.CarRental != null)
                {
                    car.CarRental = CarRentals.Read(dbItem.CarRental.Id, unitOfWork);
                }
                foreach (var rent in dbItem.RentsCollection)
                {
                    car.Rents.Add(Rents.Read(rent.Id, unitOfWork));
                }
                return(car);
            }
Пример #14
0
 public void AddRent(Rent rent)
 {
     if (Rents == null)
     {
         Rents = new List <Rent>();
     }
     Rents.Add(rent);
 }
Пример #15
0
 public void addRent(Rents address)
 {
     using (var context = new RoomRentEntities())
     {
         context.Rents.Add(address);
         context.SaveChanges();
     }
 }
Пример #16
0
        public ActionResult DeleteConfirmed(int id)
        {
            Rents rents = db.Rents.Find(id);

            db.Rents.Remove(rents);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #17
0
        private void userShowcomboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            userLendedBookslistBox.Items.Clear();
            userUnLendedBookslistBox.Items.Clear();


            //SELECT u.id_u, u.name, u.surname, u.tel, u.address, u.notes, l.name, l.postalcode
            databaseController dbc          = new databaseController();
            string             selectedUser = userShowcomboBox.SelectedItem.ToString();//exception needs to be handled

            selectedUser = selectedUser.Trim();
            string[] UserID              = selectedUser.Split('|');
            int      id_u                = Convert.ToInt32(UserID[0].Trim());
            string   name                = UserID[1].Trim();//title
            string   surname             = UserID[2].Trim();
            string   tel                 = UserID[3].Trim();
            string   address             = UserID[3].Trim();
            string   location_name       = UserID[3].Trim();
            string   location_postalcode = UserID[3].Trim();

            Locations lid = new Locations(0, location_name, "");

            dbc.idLocations(lid);
            int location_id = 0;

            foreach (int k in dbc.idLocations(lid))
            {
                location_id = k;
            }
            Users uid = new Users(0, name, surname, "", "", "", "", 0);

            dbc.idUsers(uid);
            int user_id = 0;

            foreach (int k in dbc.idUsers(uid))
            {
                user_id = k;
            }
            Users u = new Users(id_u, name, surname, tel, address, "", "", location_id);
            Rents r = new Rents(0, 1, "", 0, id_u);

            dbc.ReadLendedBooks(r);
            foreach (string name1 in dbc.ReadLendedBooks(r))
            {
                userLendedBookslistBox.Items.Add(name1);
            }


            userUnLendedBookslistBox.Items.Clear();
            dbc.ReadUnlendedBooks();
            foreach (string name1 in dbc.ReadUnlendedBooks())
            {
                userUnLendedBookslistBox.Items.Add(name1);
            }
            userUnLendedBookslistBox.Items.Clear();
            //OutputBooksOnRents_Lended();
            OutputBooksOnRents_UnLended();
        }
Пример #18
0
        private void dgvRents_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            string    CarNumber = dgvRents.Rows[e.RowIndex].Cells[1].Value.ToString();
            DateTime  SellDate  = Convert.ToDateTime(dgvRents.Rows[e.RowIndex].Cells[3].Value);
            Rents     rent      = db.Rents.FirstOrDefault(r => r.Cars.Number == CarNumber && r.SellDate == SellDate);
            CheckRent checkRent = new CheckRent(rent, ReceiveAdminId);

            checkRent.Show();
        }
Пример #19
0
        private void Model_RentChanged(object sender, RentEventArgs e)
        {
            Int32 index = Rents.IndexOf(Rents.FirstOrDefault(rent => rent.Id == e.RentId));

            Rents.RemoveAt(index);
            Rents.Insert(index, _model.Rents[index]);

            SelectedRent = Rents[index];
        }
Пример #20
0
        private void btnReceive_Click(object sender, EventArgs e)
        {
            Rents rents = db.Rents.Find(Rent.Id);

            rents.ReceiveDate    = dtpReceive.Value.Date;
            rents.PenaltyPrice   = numPenalty.Value;
            rents.ReceiveAdminID = ReceiveAdminId;
            db.SaveChanges();
            MessageBox.Show("Car " + rents.Cars.Number + " received");
            this.Close();
        }
        public async Task <ActionResult <Rents> > PostRents(Rents rents)
        {
            var rentEntities = await _carRentRepository.PostRents(rents);

            if (rentEntities == null)
            {
                return(Conflict());
            }

            return(CreatedAtAction("GetRents", new { id = rents.Id }, rents));
        }
Пример #22
0
 public void AddRents(List <Rent> rents)
 {
     if (Rents == null)
     {
         Rents = new List <Rent>();
     }
     foreach (Rent r in rents)
     {
         Rents.Add(r);
     }
 }
Пример #23
0
        public CheckRent(Rents rent, int adminId)
        {
            InitializeComponent();
            Rent           = rent;
            ReceiveAdminId = adminId;
            db             = new WinFormLayiheDBEntities();

            numPaid.Controls.RemoveAt(0);

            FillControls();
        }
Пример #24
0
        public void Delete_HasRents_ShouldThrowInvalidCountException()
        {
            var first        = Invoices.First();
            var incomingBook = first.IncomingBooks.First();

            Rents.Add(new Rent(incomingBook.Book, Subscribers.First(), Books.Single(x => x.Id == incomingBook.Book.Id).Count)
            {
                Id = _random.Next(int.MaxValue)
            });

            Assert.Throws <InvoiceCountException>(async() => await InvoicesService.Delete(first.Id));
        }
Пример #25
0
        public async Task Update_Deactivate_SuccessfullyDeactivated()
        {
            var rent = Rents.First(x => x.IsActive);

            rent.IsActive = false;
            var dto = Mapper.Map <RentDto>(rent);
            await RentsService.Update(rent.Id, dto);

            var updatedRent = Rents.First(x => x.Id == rent.Id);

            Assert.That(updatedRent.IsActive, Is.False);
        }
Пример #26
0
            private static Car ToModel(DB.Cars dbItem, UnitOfWork unitOfWork)
            {
                var car =
                    new Car()
                {
                    Id         = dbItem.Id,
                    Color      = (CarColor)dbItem.Color,
                    BodyType   = (Body)dbItem.Body,
                    BodyNumber = dbItem.BodyNumber,
                    Enginge    = dbItem.Engine,
                    Kpp        = dbItem.Kpp,
                    Number     = dbItem.Number,
                    Sts        = dbItem.Sts,
                    TO         = dbItem.TO,
                    Year       = dbItem.Year,
                    Insurance  = dbItem.Insurance,
                    Model      = CarModels.Read(dbItem.Model.Id, unitOfWork),
                    Mileage    = dbItem.Mileage,
                    SiteId     = dbItem.SiteId,
                    User       = Users.Read(dbItem.User.Id, unitOfWork),
                    Deleted    = dbItem.Deleted
                };

                if (dbItem.CarRental != null)
                {
                    car.CarRental = CarRentals.Read(dbItem.CarRental.Id, unitOfWork);
                }
                foreach (var damage in dbItem.DamagesCollection.Where(damage => !damage.Archive))
                {
                    car.Damages.Add(Damages.Read(damage.Id, unitOfWork));
                }
                foreach (var rent in dbItem.RentsCollection)
                {
                    car.Rents.Add(Rents.Read(rent.Id, unitOfWork));
                }
                foreach (var order in dbItem.OrdersCollection.Where(q => !q.Deleted))
                {
                    var cor = new CarOrder()
                    {
                        ClientId  = order.Client.Id,
                        DateFrom  = order.DateFrom,
                        DateTo    = order.DateTo,
                        Id        = order.Id,
                        Territory = order.Territory
                    };
                    foreach (var serv in order.OrderServicesCollection)
                    {
                        cor.Services.Add(Services.Read(serv.Service.Id, unitOfWork));
                    }
                    car.Orders.Add(cor);
                }
                return(car);
            }
Пример #27
0
        // метод для преобразования данных из таблицы "User"
        // в модельный класса "Клиент"
        public Models.Library.Client GetClientFromUser(User user)
        {
            // подсчитываем количество аренд
            var dealsCount = Rents.Count(r => r.ClientID == user.UserID);

            // создаем объект копируя информацию
            return(new Models.Library.Client(
                       user.DrivingLicense, user.DateOfBirth.Value, user.UserID,
                       user.FIO, user.PhoneNumber, user.Passport,
                       dealsCount
                       ));
        }
Пример #28
0
 public void DeleteRents(Rents RentsToDelete)
 {
     //List<string> listOfLocations = new List<string>();
     using (SQLiteConnection con = new SQLiteConnection("data source=Knjiznica_projektt.db"))
     {
         con.Open();
         string        query = "DELETE FROM rents WHERE(id_r='" + RentsToDelete.id_r + "');";
         SQLiteCommand com   = new SQLiteCommand(query, con);
         com.ExecuteNonQuery();
         com.Dispose();
         con.Close();
     }
 }
Пример #29
0
        public async Task <IActionResult> InsertRents(Rents rent)
        {
            if (XMLValidators.ValidXML(rent) == "")
            {
                await _rentsRepository.InsertRents(rent);

                return(Ok(rent));
            }
            else
            {
                return(BadRequest(XMLValidators.ValidXML(rent)));
            }
        }
Пример #30
0
 public void UpdateRentsLend(Rents RentsToUpdate)
 {
     //List<string> listOfLocations = new List<string>();
     using (SQLiteConnection con = new SQLiteConnection("data source=Knjiznica_projektt.db"))
     {
         con.Open();
         string        query = "UPDATE rents SET state=1, date='" + RentsToUpdate.date + "', user_id=" + RentsToUpdate.user_id + " WHERE id_r=" + RentsToUpdate.id_r + ";";
         SQLiteCommand com   = new SQLiteCommand(query, con);
         com.ExecuteNonQuery();
         com.Dispose();
         con.Close();
     }
 }