public async Task <IActionResult> RentProperty(int id, int userId)
        {
            var rent = await _repo.GetRent(userId, id);

            if (rent != null)
            {
                return(BadRequest("You already rent this property"));
            }

            if (await _repo.GetUser(userId) == null)
            {
                return(NotFound());
            }

            rent = new Models.Rent
            {
                UserId     = userId,
                PropertyId = id
            };

            _repo.Add <Models.Rent>(rent);

            if (await _repo.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Failed to rent property"));
        }
Beispiel #2
0
        public ActionResult Delete(int id)
        {
            Models.Rent rent = null;
            try
            {
                rent = db.Rents.Where(c => c.Id == id).First();
                db.Rents.Remove(rent);
                db.SaveChanges();
            }
            catch { }
            JsonResult data = Json(rent);

            return(data);
        }
Beispiel #3
0
        public ActionResult Insert(int premiseId, int organizationId, DateTime arrivalDate, DateTime dateOfDeparture)
        {
            Models.Rent rent = new Models.Rent
            {
                PremiseId       = premiseId,
                OrganizationId  = organizationId,
                ArrivalDate     = arrivalDate,
                DateOfDeparture = dateOfDeparture,

                Organization = db.Organizations.Where(p => p.Id == organizationId).First(),
                Premise      = db.Premises.Where(p => p.Id == premiseId).First()
            };
            db.Rents.Add(rent);
            db.SaveChanges();
            JsonResult data = Json(rent);

            return(data);
        }
Beispiel #4
0
        public ActionResult Update(int id, int premiseId, int organizationId, DateTime arrivalDate, DateTime dateOfDeparture)
        {
            Models.Rent rent = null;
            try
            {
                rent                 = db.Rents.Where(c => c.Id == id).First();
                rent.PremiseId       = premiseId;
                rent.OrganizationId  = organizationId;
                rent.ArrivalDate     = arrivalDate;
                rent.DateOfDeparture = dateOfDeparture;

                rent.Organization = db.Organizations.Where(p => p.Id == organizationId).First();
                rent.Premise      = db.Premises.Where(p => p.Id == premiseId).First();
                db.SaveChanges();
            }
            catch { }
            JsonResult data = Json(rent);

            return(data);
        }
Beispiel #5
0
        public static void Initialize(ApplicationContext db)
        {
            db.Database.EnsureCreated();
            if (db.Organizations.Any())
            {
                return;
            }

            Random rand = new Random();

            int    organizationsLength  = 30;
            int    buildingsLength      = 30;
            int    premisesLength       = 200;
            int    rentOfPremisesLength = 4000;
            int    invoicesLength       = 10000;
            string voc = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";

            for (int i = 0; i < organizationsLength; i++)
            {
                Organization organization = new Organization
                {
                    Name = GetRandomString(voc, 20),
                    Mail = GetRandomString(voc, 20)
                };
                db.Organizations.Add(organization);
            }
            db.SaveChanges();

            for (int i = 0; i < buildingsLength; i++)
            {
                Building building = new Building
                {
                    Name            = GetRandomString(voc, 20),
                    Mail            = GetRandomString(voc, 20),
                    Characteristic  = GetRandomString(voc, 20),
                    NumberOfStoreys = rand.Next(1, 16)
                };
                db.Buildings.Add(building);
            }
            db.SaveChanges();

            for (int i = 0; i < premisesLength; i++)
            {
                Premise premise = new Premise
                {
                    BuildingNumber = rand.Next(1, buildingsLength - 1),
                    Area           = rand.Next(20, 300),
                    FloorPlan      = GetRandomString(voc, 20),
                    Photos         = GetRandomString(voc, 20)
                };
                db.Premises.Add(premise);
            }
            db.SaveChanges();

            for (int i = 0; i < rentOfPremisesLength; i++)
            {
                Models.Rent rent = new Models.Rent
                {
                    OrganizationId  = rand.Next(1, organizationsLength),
                    PremiseId       = rand.Next(1, premisesLength),
                    ArrivalDate     = new DateTime(2000, 1, 1).AddDays(rand.Next(0, 6000)),
                    DateOfDeparture = new DateTime(2018, 1, 1).AddDays(rand.Next(0, 1000))
                };
                db.Rents.Add(rent);
            }
            db.SaveChanges();

            for (int i = 0; i < invoicesLength; i++)
            {
                Invoice invoice = new Invoice
                {
                    Mounth        = rand.Next(1, 12),
                    RentId        = rand.Next(1, rentOfPremisesLength),
                    DateOfPayment = new DateTime(2000, 1, 1).AddMonths(rand.Next(1, 240)),
                    Bailee        = GetRandomString(voc, 20),
                    Total         = rand.Next(1000, 30000)
                };
                db.Invoices.Add(invoice);
            }
            db.SaveChanges();
        }