public bool UpdateReservationContractBLL(ReservationContract reservationContract)
 {
     if (reservationContract != null)
     {
         dal.UpdateReservationContract(reservationContract);
         return(true);
     }
     return(false);
 }
Beispiel #2
0
        public double GetTotal(int contractId)
        {
            ReservationContract contract = contractBLL.GetContractByContractId(contractId);
            int quanityClient            = CountTableQuantity((int)contract.CountCustomer);

            Trace.WriteLine((double)placebll.GetPlaceByIdBLL(contract.PlaceId).Price *quanityClient + "-"
                            + mealbll.GetTotalOfMealListBLL(contractId, quanityClient) + "-"
                            + servicebll.GetTotalOfServiceListBLL(contractId, quanityClient));

            return((double)placebll.GetPlaceByIdBLL(contract.PlaceId).Price +
                   mealbll.GetTotalOfMealListBLL(contractId, quanityClient) +
                   servicebll.GetTotalOfServiceListBLL(contractId, quanityClient));
        }
Beispiel #3
0
        public async Task <IHttpActionResult> UpdateAsync(ReservationContract reservation)
        {
            try
            {
                await reservationService.UpdateAsync(reservation.ToModel());

                return(Content(HttpStatusCode.Accepted, reservation.ReservationId));
            }
            catch (KeyNotFoundException)
            {
                return(NotFound());
            }
        }
 public bool AddReservationContract(ReservationContract reservationContract)
 {
     try {
         if (reservationContract != null)
         {
             dal.AddReservationContract(reservationContract);
             return(true);
         }
         return(false);
     }catch (Exception e)
     {
         return(false);
     }
 }
Beispiel #5
0
        /// <summary>
        /// Maps model to contract
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static ReservationContract ToContract(this Reservation model)
        {
            if (model == null)
            {
                return(null);
            }

            var result = new ReservationContract();

            result.InjectFrom(model);

            // Map any non-identical properties here
            //result.LookupName = LookupDataNameById(model.LookupDataId);

            return(result);
        }
Beispiel #6
0
        /*========================================*/

        /// <summary>
        /// Maps contract to model
        /// </summary>
        /// <param name="contract"></param>
        /// <returns></returns>
        public static Reservation ToModel(this ReservationContract contract)
        {
            if (contract == null)
            {
                return(null);
            }

            var result = new Reservation();

            result.InjectFrom(contract);

            // Map any non-identical properties here
            //result.LookupDataId = LookupDataNameById(contract.LookupName);

            return(result);
        }
        public bool AddContract(int cusId, int contractTypeId, DateTime plandate, int quantity, int placeId)
        {
            string type  = "";
            var    data  = new List <Object>();
            Place  place = new Place();
            ReservationContract contract = null;

            if (cusId > 0 && contractTypeId > 0 && contractTypeId < 4 && plandate != null && quantity > 0 && placeId > 0)
            {
                type  = GetContractType(contractTypeId);
                place = placebll.GetPlaceByIdBLL(placeId);

                contract = new ReservationContract();
                contract.ReservationContractName = type;
                contract.CustomerId    = cusId;
                contract.CreateDate    = DateTime.Now;
                contract.EffectDate    = plandate;
                contract.ExpireDate    = plandate.Date.AddDays(-5);
                contract.PlaceId       = placeId;
                contract.Status        = "Pending";
                contract.CountCustomer = quantity;
                contract.Note          = cmm.CountTableQuantity(quantity).ToString();

                if (contractBLL.AddReservationContract(contract))
                {
                    Trace.Write("---add contract-----" + "-" + placeId + contractTypeId + "-" + cusId + "-" + plandate + "-" + quantity);

                    placebll.UpdateAvailableSeatBLL(0, contract.ReservationContractId);
                    int table = cmm.CountTableQuantity(quantity);

                    Trace.WriteLine("--so ban da dat-----" + table + "------");
                    data = cmm.ReturnMessage(place.Price.ToString(), contract.ReservationContractId.ToString(), null);
                    return(true);
                }
                data = cmm.ReturnMessage("Thêm khong thành công. Vui lòng nhập đầy đủ thông tin!", contract.ReservationContractId.ToString(), null);
                return(false);
            }
            else
            {
                data = cmm.ReturnMessage("Xác nhận rằng đã nhập đủ và đúng thông tin đặt trước ở tab trước!", "", null);
                return(false);
            }
        }
        public bool AddMealDrinkDetail(string mealid, string note, int contractId)
        {
            Trace.WriteLine("---------------mealdetail-----------" + contractId + note + mealid);
            MealDrink                  mealDrink = mealbll.GetMealById(mealid);
            ReservationContract        contract  = contractBLL.GetContractByContractId(contractId);
            ReservationMealDrinkDetail detail    = new ReservationMealDrinkDetail();

            detail.ReservationContractId = contractId;
            detail.MealDrinkId           = mealid;
            detail.Note     = note;
            detail.Quantity = cmm.CountTableQuantity((int)contract.CountCustomer);
            detail.Price    = mealDrink.Price;
            if (contractDetailBLL.AddMealDrinkReservationContractDetail(detail))
            {
                return(true);
            }

            return(false);
        }
 public void UpdateReservationContract(ReservationContract reservationContract)
 {
     db.Entry(reservationContract).State = EntityState.Modified;
     db.SaveChanges();
 }
 public void AddReservationContract(ReservationContract reservationContract)
 {
     db.ReservationContracts.Add(reservationContract);
     db.SaveChanges();
 }
Beispiel #11
0
        public void SendMail(ReservationContract contract, string to, string subject)
        {
            try
            {
                var mailMessage = new MailMessage();
                mailMessage.To.Add(to);
                mailMessage.Subject = subject;
                Place    place   = placebll.GetPlaceByIdBLL(contract.PlaceId);
                Customer cus     = cusbll.FindCustomer(contract.CustomerId);
                decimal? price   = place.Price * CountTableQuantity((int)contract.CountCustomer);
                string   content = "<h4 style='color:blue'>Chúc mừng bạn đã đăng kí đặt trước thành công tại Red Velvet Restaurant của chúng tôi</h4>" +
                                   "<h2> HỢP ĐỒNG ĐẶT TRƯỚC</h2>" +
                                   "<p>Mã đơn đặt trước: " + contract.ReservationContractId.ToString() + "</p>" +
                                   "<p>Loại đơn đặt trước: " + contract.ReservationContractName.ToString() + "</p>" +
                                   "<p>Loại sảnh: " + place.PlaceName + "</p>" +
                                   "<p>Ngày tạo đơn đặt trước: " + contract.CreateDate + " </p>" +
                                   "<p>Ngày tổ chức: " + contract.EffectDate + " </p>" +
                                   "<p>Số lượng bàn:  " + contract.Note + " </p>" +
                                   "<p style='color:red'>Giá đặt chỗ: " + place.Price + "*" + contract.Note +
                                   "=" + price +
                                   "</p>";
                List <ItemObject> mealdrink = new List <ItemObject>();
                foreach (var i in detailbll.GetAllReservationMealDrinkDetailByContractIdBLL(contract.ReservationContractId))
                {
                    ItemObject item = new ItemObject();
                    item.id       = i.MealDrinkId;
                    item.Name     = mealdrinkbll.GetMealById(i.MealDrinkId).Name;
                    item.note     = i.Note;
                    item.Price    = (decimal)i.Price;
                    item.Quantity = (int)i.Quantity;
                    mealdrink.Add(item);
                }
                if (mealdrink.Count != 0)
                {
                    content += "<h3 style='color:blue'>Danh sách món ăn đã được đặt</h3>" +
                               "<table class='table table-striped' style='color:black'>" +
                               "<thead>" +
                               "<tr>" +
                               "<th>Tên món</th>" +
                               "<th>Giá</th>" +
                               "<th>Số lượng</th>" +
                               "</tr>" +
                               "</thead>" +
                               "<tbody>";
                    foreach (ItemObject i in mealdrink)
                    {
                        content += "<tr>" +
                                   "<td>" + i.Name + "</td>" +
                                   "<td>" + i.Price + " VND</td>" +
                                   "<td>" + i.Quantity + "</td>" +
                                   "</tr>";
                    }
                    content += "<tr><td style='color:blue'><h3>Tổng thanh toán thực đơn: "
                               + mealbll.GetTotalOfMealListBLL(contract.ReservationContractId, (int)contract.CountCustomer)
                               + "000 VND</h3></td></tr>" +
                               "</tbody>" +
                               "</table>";
                }
                List <ItemObject> service = new List <ItemObject>();
                foreach (var i in detailbll.GetAllServiceDetailByContractIdBLL(contract.ReservationContractId))
                {
                    ItemObject item = new ItemObject();
                    item.id       = i.ServiceId;
                    item.Name     = servicebll.GetServiceById(i.ServiceId).ServiceName;
                    item.note     = i.Note;
                    item.Price    = (decimal)i.Price;
                    item.Quantity = (int)i.Quantity;
                    service.Add(item);
                }
                if (service.Count != 0)
                {
                    content += "<h3 style='color:blue'>Danh sách dịch vụ đã chọn</h3>" +
                               "<table class='table table-striped' style='color:black'>" +
                               "<thead>" +
                               "<tr>" +
                               "<th>Tên dịch vụ</th>" +
                               "<th>Giá</th>" +
                               "<th>Note</th>" +
                               "</tr>" +
                               "</thead>" +
                               "<tbody>";

                    foreach (ItemObject i in service)
                    {
                        content +=
                            "<tr>" +
                            "<td>" + i.Name + "</td>" +
                            "<td>" + i.Price + " VND</td>" +
                            "<td>" + i.note + "</td>" +
                            "</tr>";
                    }
                    content += "<tr><td style='color:blue'><h3>Tổng thanh toán dịch vụ: "
                               + servicebll.GetTotalOfServiceListBLL(contract.ReservationContractId, (int)contract.CountCustomer)
                               + "000 VND</h3></td></tr>" +
                               "</tbody>" +
                               "</table>";
                }
                content += "<hr>";
                double total = (double)price + servicebll.GetTotalOfServiceListBLL(contract.ReservationContractId, (int)contract.CountCustomer) +
                               mealbll.GetTotalOfMealListBLL(contract.ReservationContractId, (int)contract.CountCustomer);

                content += "<h3 style='color:red'>TỔNG THANH TOÁN: " + total + "000 VND </h3>";
                ReservationBill bill = billbll.GetBillById(contract.ReservationContractId);
                content += "<h4 style='color:black'>Số tiền trả trước: " + bill.PrePay + " VND </h4>";
                decimal?pay = bill.TotalPay - bill.PrePay;
                content += "<h4 style='color:blue'>Số tiền còn lại: " + pay + " VND </h4>";
                content += "</hr><p style='color:black'>Khách hàng vui lòng đến trực tiếp quầy tiếp tân của nhà hàng để xác nhận hợp đồng đặt trước và thanh toán số tiền còn lại" +
                           " trước ngày " + contract.ExpireDate + ". Nếu sau ngày trên, chúng tôi không nhận được thông tin liên lạc của khách hàng về đơn đặt trước này." +
                           " Chúng tôi xin phép hủy đơn đặt trước của khách hàng. Xin chân thành cảm ơn vì đã chọn lựa nhà hàng chúng tôi!</p>";
                content += "<hr><hr><h5 style='color:blue'>Điều khoản thanh toán:</h5>" +
                           "- Khách hàng có thể dời thanh toán số còn lại sau khi tiệc tổ chức tối đa 3 ngày.<br>" +
                           "- Khi đi xác nhận hợp đồng vui lòng mang theo CMND hoặc hộ khẩu đã được công chứng để hoàn tất.<br>" +
                           "- Đối với tiệc cưới, chi phí in ấn thực đơn được tặng hoàn toàn.<br>";

                mailMessage.Body       = content;
                mailMessage.IsBodyHtml = true;
                Trace.WriteLine("-----send--mail-----");
                var smtpClient = new SmtpClient
                {
                    Host                  = "smtp.gmail.com",
                    Port                  = 587,
                    EnableSsl             = true,
                    DeliveryMethod        = SmtpDeliveryMethod.Network,
                    UseDefaultCredentials = false,
                    Credentials           = new NetworkCredential("*****@*****.**", "redvelvet2018")
                };
                smtpClient.Send(mailMessage);
            }catch (Exception e)
            {
                Trace.WriteLine("-----error-------" + e.Message);
            }
        }
 public bool MakeTimeKeeping(ReservationContract reservationContract)
 {
     throw new NotImplementedException();
 }
Beispiel #13
0
        public async Task <IHttpActionResult> AddAsync(ReservationContract reservation)
        {
            await reservationService.AddAsync(reservation.ToModel());

            return(Created(new Uri(Request.RequestUri, reservation.ReservationId.ToString()), reservation.ReservationId));
        }
 bool IEmployee.MakeTimeKeeping(ReservationContract reservationContract)
 {
     throw new NotImplementedException();
 }
        public bool CheckDateToReservation(DateTime date, int placeId)
        {
            ReservationContract contract = db.ReservationContracts.Where(x => x.EffectDate == date && x.PlaceId.Equals(placeId)).FirstOrDefault();

            return(contract != null ? false : true);
        }
        public bool CheckAvailablePlace(int placeId)
        {
            ReservationContract availablePlace = db.ReservationContracts.Where(x => x.PlaceId.Equals(placeId)).FirstOrDefault();

            return(availablePlace != null ? true : false);
        }
 public ActionResult Edit(ReservationContract contract)
 {
     contractbll.UpdateReservationContractBLL(contract);
     return(RedirectToAction("Calendar"));
 }