Ejemplo n.º 1
0
 // Обновление данных в базе о ценнике
 public static async void RoomCostUpdate(this RoomCost unsyRoomCost)
 {
     using (HotelContext db = new HotelContext())
     {
         db.RoomCosts.Update(unsyRoomCost);
         await db.SaveChangesAsync();
     }
 }
Ejemplo n.º 2
0
 [HttpPut("{id}")]// Обновляет данные о ценнике
 public IActionResult Put(int id, [FromBody] RoomCost roomCost)
 {
     if (ModelState.IsValid)
     {
         roomCost.RoomCostUpdate();
         return(Ok(roomCost));
     }
     return(BadRequest(ModelState));
 }
Ejemplo n.º 3
0
 // Поиск в базе
 public static async Task <RoomCost> FindRoomCost(RoomCost roomCost)
 {
     using (HotelContext db = new HotelContext())
     {
         return(await db.RoomCosts.AsNoTracking().FirstOrDefaultAsync(
                    rc => roomCost.CategoryId == rc.CategoryId &&
                    roomCost.NumberOfSeats == rc.NumberOfSeats &&
                    roomCost.HasMiniBar == rc.HasMiniBar));
     }
 }
Ejemplo n.º 4
0
 // Удаление ценника из базы
 public static async Task <RoomCost> RoomCostDelete(int id)
 {
     using (HotelContext db = new HotelContext())
     {
         RoomCost roomCost = db.RoomCosts.FirstOrDefault(x => x.RoomCostId == id);
         if (roomCost != null)
         {
             roomCost.Cost = 0;
             db.RoomCosts.Update(roomCost);
             await db.SaveChangesAsync();
         }
         return(roomCost);
     }
 }
Ejemplo n.º 5
0
        private void BillingsTextFields()
        {
            decimal Tarriff, BarCharge, TelephoneCharge, WiFiCharge, RoomCost, TarriffSinglePerson, Tarriff2People, TariffExtraPerson, RoomCost2, Days;

            int NumberOfGuests, GuestIDFK; //BillingID,

            TarriffSinglePerson = Convert.ToDecimal(txtTariffSinglePerson.Text);
            Tarriff2People      = Convert.ToDecimal(txtTariff2People.Text);
            TariffExtraPerson   = Convert.ToDecimal(txtTariffExtraPerson.Text);
            RoomCost2           = Convert.ToDecimal(txtRoomCost.Text);
            Days = Convert.ToDecimal(lblDays.Text);



            NumberOfGuests = Convert.ToInt16(txtNumberOfGuests.Text);

            if (NumberOfGuests == 1)
            {
                Tarriff = TarriffSinglePerson;
            }
            else if (NumberOfGuests == 2)
            {
                Tarriff = Tarriff2People;
            }
            else
            {
                Tarriff = Tarriff2People + (TariffExtraPerson * (NumberOfGuests - 2));
            }



            //BillingID = Convert.ToInt16(txtBillingID.Text);
            GuestIDFK       = Convert.ToInt16(txtGuestID.Text);
            BarCharge       = Convert.ToDecimal(txtBarCharge.Text);
            WiFiCharge      = Convert.ToDecimal(txtWiFiCharge.Text);
            TelephoneCharge = Convert.ToDecimal(txtTelephoneCharge.Text);
            RoomCost        = (RoomCost2 * Days) + BarCharge + WiFiCharge + Tarriff + TelephoneCharge;


            myBillings.GuestID         = GuestIDFK;
            myBillings.BarCharge       = BarCharge;
            myBillings.WiFiCharge      = WiFiCharge;
            myBillings.TelephoneCharge = TelephoneCharge;
            myBillings.RoomCost        = RoomCost;

            lblTotalCost.Text = RoomCost.ToString();
        }
Ejemplo n.º 6
0
        [HttpPost]// Добаляет ценник в базу
        public IActionResult Post([FromBody] RoomCost roomCost)
        {
            if (ModelState.IsValid)
            {
                RoomCost rmc;
                if ((rmc = FindRoomCost(roomCost).Result) == null)
                {
                    roomCost.RoomCostSave();
                }
                else
                {
                    rmc.Cost = roomCost.Cost;
                    rmc.RoomCostUpdate();
                }


                return(Ok(roomCost));
            }
            return(BadRequest(ModelState));
        }
Ejemplo n.º 7
0
        public static List <RoomCost> CreateRoomCost()
        {
            RoomCost cost_categ_1_num_1 = new RoomCost {
                RoomCostId = 1, CategoryId = 1, NumberOfSeats = 1, HasMiniBar = false, Cost = 2000
            };
            RoomCost cost_categ_1_num_2 = new RoomCost {
                RoomCostId = 2, CategoryId = 1, NumberOfSeats = 2, HasMiniBar = false, Cost = 3000
            };
            RoomCost cost_categ_1_num_3 = new RoomCost {
                RoomCostId = 3, CategoryId = 1, NumberOfSeats = 3, HasMiniBar = false, Cost = 3700
            };
            RoomCost cost_categ_1_num_4 = new RoomCost {
                RoomCostId = 4, CategoryId = 1, NumberOfSeats = 4, HasMiniBar = false, Cost = 4200
            };

            RoomCost cost_categ_1_num_5 = new RoomCost {
                RoomCostId = 5, CategoryId = 1, NumberOfSeats = 1, HasMiniBar = true, Cost = 3000
            };
            RoomCost cost_categ_1_num_6 = new RoomCost {
                RoomCostId = 6, CategoryId = 1, NumberOfSeats = 2, HasMiniBar = true, Cost = 4000
            };
            RoomCost cost_categ_1_num_7 = new RoomCost {
                RoomCostId = 7, CategoryId = 1, NumberOfSeats = 3, HasMiniBar = true, Cost = 5700
            };
            RoomCost cost_categ_1_num_8 = new RoomCost {
                RoomCostId = 8, CategoryId = 1, NumberOfSeats = 4, HasMiniBar = true, Cost = 6200
            };



            RoomCost cost_categ_2_num_1 = new RoomCost {
                RoomCostId = 9, CategoryId = 2, NumberOfSeats = 1, HasMiniBar = false, Cost = 3000
            };
            RoomCost cost_categ_2_num_2 = new RoomCost {
                RoomCostId = 10, CategoryId = 2, NumberOfSeats = 2, HasMiniBar = false, Cost = 4000
            };
            RoomCost cost_categ_2_num_3 = new RoomCost {
                RoomCostId = 11, CategoryId = 2, NumberOfSeats = 3, HasMiniBar = false, Cost = 5700
            };
            RoomCost cost_categ_2_num_4 = new RoomCost {
                RoomCostId = 12, CategoryId = 2, NumberOfSeats = 4, HasMiniBar = false, Cost = 6200
            };

            RoomCost cost_categ_2_num_5 = new RoomCost {
                RoomCostId = 13, CategoryId = 2, NumberOfSeats = 1, HasMiniBar = true, Cost = 4500
            };
            RoomCost cost_categ_2_num_6 = new RoomCost {
                RoomCostId = 14, CategoryId = 2, NumberOfSeats = 2, HasMiniBar = true, Cost = 5500
            };
            RoomCost cost_categ_2_num_7 = new RoomCost {
                RoomCostId = 15, CategoryId = 2, NumberOfSeats = 3, HasMiniBar = true, Cost = 6300
            };
            RoomCost cost_categ_2_num_8 = new RoomCost {
                RoomCostId = 16, CategoryId = 2, NumberOfSeats = 4, HasMiniBar = true, Cost = 6800
            };

            RoomCost cost_categ_3_num_1 = new RoomCost {
                RoomCostId = 17, CategoryId = 3, NumberOfSeats = 1, HasMiniBar = false, Cost = 5000
            };
            RoomCost cost_categ_3_num_2 = new RoomCost {
                RoomCostId = 18, CategoryId = 3, NumberOfSeats = 2, HasMiniBar = false, Cost = 6000
            };
            RoomCost cost_categ_3_num_3 = new RoomCost {
                RoomCostId = 19, CategoryId = 3, NumberOfSeats = 3, HasMiniBar = false, Cost = 7700
            };
            RoomCost cost_categ_3_num_4 = new RoomCost {
                RoomCostId = 20, CategoryId = 3, NumberOfSeats = 4, HasMiniBar = false, Cost = 8200
            };

            RoomCost cost_categ_3_num_5 = new RoomCost {
                RoomCostId = 21, CategoryId = 3, NumberOfSeats = 1, HasMiniBar = true, Cost = 6800
            };
            RoomCost cost_categ_3_num_6 = new RoomCost {
                RoomCostId = 22, CategoryId = 3, NumberOfSeats = 2, HasMiniBar = true, Cost = 7200
            };
            RoomCost cost_categ_3_num_7 = new RoomCost {
                RoomCostId = 23, CategoryId = 3, NumberOfSeats = 3, HasMiniBar = true, Cost = 8300
            };
            RoomCost cost_categ_3_num_8 = new RoomCost {
                RoomCostId = 24, CategoryId = 3, NumberOfSeats = 4, HasMiniBar = true, Cost = 10000
            };

            List <RoomCost> list = new List <RoomCost> {
                cost_categ_1_num_1, cost_categ_1_num_2, cost_categ_1_num_3, cost_categ_1_num_4,
                cost_categ_1_num_5, cost_categ_1_num_6, cost_categ_1_num_7, cost_categ_1_num_8,

                cost_categ_2_num_1, cost_categ_2_num_2, cost_categ_2_num_3, cost_categ_2_num_4,
                cost_categ_2_num_5, cost_categ_2_num_6, cost_categ_2_num_7, cost_categ_2_num_8,

                cost_categ_3_num_1, cost_categ_3_num_2, cost_categ_3_num_3, cost_categ_3_num_4,
                cost_categ_3_num_5, cost_categ_3_num_6, cost_categ_3_num_7, cost_categ_3_num_8
            };

            RoomCosts = list;
            return(list);
        }
Ejemplo n.º 8
0
    //Steps the day counter for all rooms
    public static void StepDay(WeekDays curDay)
    {
        //reference the reception log for this week.
        ReceptionLog currentLog = Reception.receptionLogs[Reception.receptionLogs.Count - 1];
        //Iterate through each room stepping their day counters if necessary
        foreach(RoomStats aRoom in allBedrooms)
        {
            if(aRoom.daysUnderConstruction > 0)
            {

                --aRoom.daysUnderConstruction;//Decrease days under construction
                if(aRoom.daysUnderConstruction == 0)
                {
                    aRoom.RemoveIcon("RepairUpgrade");
                }
            }
            else
            {
                aRoom.DegradeRoom ();
                if(aRoom.daysOccupied > 0)
                {
                    int roomTypeSelected = 0;
                    float roomPrice = 0;
                    //check if this is a special booking
                    if(aRoom.typeRented == groupType.noneBooked)
                    {

                        RoomCost roomType = new RoomCost();//assign the correct list of prices and discount.
                        switch(aRoom.roomQuality)
                        {
                        case 1:roomType = currentLog.standardRoom;
                            roomTypeSelected = 1;
                            Reception.monthlyReports[Reception.monthlyReports.Count-1].numbRoomLvl1Booked++;
                            break;
                        case 2:roomType = currentLog.doubleRoom;
                            roomTypeSelected = 2;
                            Reception.monthlyReports[Reception.monthlyReports.Count-1].numbRoomLvl2Booked++;
                            break;
                        case 3:roomType = currentLog.deluxeRoom;
                            roomTypeSelected = 3;
                            Reception.monthlyReports[Reception.monthlyReports.Count-1].numbRoomLvl3Booked++;
                            break;
                        case 4:roomType = currentLog.suiteRoom;
                            roomTypeSelected = 4;
                            Reception.monthlyReports[Reception.monthlyReports.Count-1].numbRoomLvl4Booked++;
                            break;
                        case 5:roomType = currentLog.masterSuiteRoom;
                            roomTypeSelected = 5;
                            Reception.monthlyReports[Reception.monthlyReports.Count-1].numbRoomLvl5Booked++;
                            break;
                        }
                        if(curDay <= WeekDays.Wednesday)
                        {
                            //weekday rate.
                            roomPrice = roomType.weekdayRoomCost;
                            //Give discount if 3 days booked or higher:
                            if(aRoom.discount3Days)
                            {
                                //applies the 3 day discount.
                                roomPrice *=  (1-roomType.weekday3NightDiscount/100);
                            }
                            if(aRoom.discountNoBreakfast)
                            {
                                //applies the no breakfast discount.
                                roomPrice *=  (1-roomType.weekdayNoBreakfastDiscount/100);
                            }
                            if(aRoom.discountNoCancel)
                            {
                                //applies the no cancellation discount.
                                roomPrice *=  (1-roomType.weekdayNoCancelDiscount/100);
                            }
                        }
                        else //If it's a weekend, charge weekend rate
                        {
                            //weekend rate.
                            roomPrice = roomType.weekendRoomCost;
                            //Give discount if 3 days booked or higher:
                            if(aRoom.discount3Days)
                            {
                                // applies the 3 night discount.
                                roomPrice *=  (1-roomType.weekend3NightDiscount/100);
                            }
                            if(aRoom.discountNoBreakfast)
                            {
                                //applies the no breakfast discount.
                                roomPrice *= (1-roomType.weekendNoBreakfastDiscount/100);
                            }
                            if(aRoom.discountNoCancel)
                            {
                                //applies the no cancellation discount.
                                roomPrice *= (1-roomType.weekendNoCancelDiscount/100);
                            }
                        }
                    }
                    //set price if conference booking.
                    else if(aRoom.typeRented == groupType.conference){
                        roomTypeSelected = 6;
                        roomPrice = currentLog.conferenceHeadCost;
                        if(curDay <= WeekDays.Wednesday)
                            roomPrice *= (1-currentLog.conferenceWeekendDiscount/100);
                    }
                    //set price if group type booking
                    else if(aRoom.typeRented == groupType.group){
                        roomTypeSelected = 7;
                        roomPrice = currentLog.groupHeadCost;
                    }
                    //set price if special event booked
                    else if(aRoom.typeRented == groupType.specialEvent){
                        roomTypeSelected = 8;
                        roomPrice = currentLog.eventsCost;
                        if(curDay <= WeekDays.Wednesday)
                            roomPrice *= (1-currentLog.eventWeekEndDiscount/100);
                    }
                    else{Debug.LogError("Error in groupTypeSelection");}
                    //adds the discount from revenue management tab.

                    roomPrice *= occupancyDiscount;

                    switch(roomTypeSelected){
                    case 1:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueRoomLvl1 += roomPrice;
                        break;
                    case 2:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueRoomLvl2 += roomPrice;
                        break;
                    case 3:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueRoomLvl3 += roomPrice;
                        break;
                    case 4:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueRoomLvl4 += roomPrice;
                            break;
                    case 5:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueRoomLvl5 += roomPrice;
                        break;
                    case 6:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueConferences += roomPrice;
                        break;
                    case 7:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueGroups += roomPrice;
                        break;
                    case 8:Reception.monthlyReports[Reception.monthlyReports.Count-1].revenueEvents += roomPrice;
                        break;
                    }

                    MasterReference.accountsReceivable += roomPrice;
                    aRoom.daysOccupied--;
                    //Reset scale when room is available again

                }
                if (aRoom.daysOccupied == 0 && aRoom.inUse)
                {
                    GameObject assetCTR = GameObject.FindGameObjectWithTag("GameController").transform.FindChild("AssetController").gameObject;
                    string currentLayout = "";

                    aRoom.typeRented = groupType.noneBooked;
                    if (aRoom.roomCleanliness >= 50)
                    {
                        aRoom.GetComponent<Renderer>().material.color = Color.white;

                        if (aRoom.name == "Container")
                        {
                            switch (aRoom.roomQuality)
                            {
                                case 1:
                                    currentLayout = "Standard";
                                    break;
                                case 2:
                                    currentLayout = "Double";
                                    break;
                            }
                            assetCTR.GetComponent<AssetSwapper>().SwapRoomStatus(aRoom.gameObject, currentLayout, "Clean");
                        }
                    }
                    else
                    {
                        if (aRoom.name == "Container")
                        {
                            switch (aRoom.roomQuality)
                            {
                                case 1:
                                    currentLayout = "Standard";
                                    break;
                                case 2:
                                    currentLayout = "Double";
                                    break;
                            }
                            assetCTR.GetComponent<AssetSwapper>().SwapRoomStatus(aRoom.gameObject, currentLayout, "Dirty");
                        }
                        aRoom.GetComponent<Renderer>().material.color = Color.yellow;
                    }
                    aRoom.inUse = false;
                }
            }

        }

        ShuffleRooms();
    }