Exemple #1
0
        //public IQueryable<CateringReportViewModel> GetCateringReport(IQueryable<Booking> bookings)
        //{
        //    return bookings.Select(x => new CateringReportViewModel()
        //    {
        //        EventDate = (DateTime) x.startdate,
        //        cId = x.Customer.c_Id,
        //        Client =x.Customer.lastname + " ," + x.Customer.firstname + " " + x.Customer.middle,
        //        Occasion = x.occasion,
        //        Venue = x.venue,
        //        noofPax = (int) x.noofperson,
        //        PackageRate = (decimal) x.Package.p_amountPax,
        //        Addons = x.BookingAddons.Count>1 ?"Various Add-ons" : x.BookingAddons.Select(t => t.Addondesc).FirstOrDefault(),
        //        TotalAddons = x.BookingAddons.Any() ? x.BookingAddons.Select(t=>(decimal)t.AddonAmount).Sum() : 0,
        //        AmountPaid = x.Payments.Any()?x.Payments.Select(t=>(decimal)t.amtPay).Sum():0,
        //        PaymentMode = x.Payments.Any()?x.Payments.Select(t => t.pay_means).FirstOrDefault():"Credit"
        //    });

        //}



        public IEnumerable <CateringReportViewModel> GetCateringReport(IEnumerable <Booking> bookings)
        {
            return(bookings.Select(x => new CateringReportViewModel()
            {
                EventDate = (DateTime)x.startdate,
                cId = x.Customer.c_Id,
                Client = Utilities.getfullname(x.Customer.lastname, x.Customer.firstname, x.Customer.middle),
                Occasion = x.occasion,
                Venue = x.venue,
                noofPax = (int)x.noofperson,
                PackageRate = x.Package.p_type.Trim() != "vip"? (decimal)x.Package.p_amountPax - transactionDetails.getCateringdiscount((int)x.noofperson): (decimal)x.Package.p_amountPax,
                Addons = x.BookingAddons.Any() ? string.Join(", ", x.BookingAddons.Select(t => t.Addondesc)):String.Empty,
                AddonsTotal = x.BookingAddons.Any() ? x.BookingAddons.Select(t => Convert.ToDecimal(t.AddonAmount)).Sum() : 0,
                AmountPaid = x.Payments.Any() ? x.Payments.Select(t => Convert.ToDecimal(t.amtPay)).Sum() : 0,
                PaymentMode = x.Payments.Any()? x.Payments.Select(t => t.pay_means).FirstOrDefault():"---",
                Status = x.Payments.Any()?"pd":"unpd",
                iscancelled = (bool)x.is_cancelled
            }).Where(t => t.iscancelled == false));
        }
Exemple #2
0
        //get totalPackageAmount
        public decimal Get_TotalAmountBook(int transId)
        {
            decimal totalAmount = 0;
            var     _dbcontext  = new PegasusEntities();

            Booking             b          = new Booking();
            List <BookingAddon> addonsList = new List <BookingAddon>();


            try
            {
                decimal totalPackage_Amount = 0;
                decimal addons = 0;;

                b = _dbcontext.Bookings.ToList().FirstOrDefault(x => x.trn_Id == transId);


                if (b != null)
                {
                    totalPackage_Amount = Convert.ToDecimal(b.Package.p_amountPax) * Convert.ToInt32(b.noofperson);
                }

                addonsList = _dbcontext.BookingAddons.Where(x => x.trn_Id == transId).ToList();

                if (addonsList.Count > 0)
                {
                    addons = Convert.ToDecimal(addonsList.Sum(x => x.AddonAmount));
                }

                // get transaction discount
                totalAmount = totalPackage_Amount + addons;

                var discount = this.getBookingTransDiscount(transId, totalAmount);

                if (discount > 0)
                {
                    totalAmount = totalAmount - discount;

                    //totalAmount = (totalPackage_Amount + addons) - discount;
                }


                var hasLocationExtendedCharge = transdetails.Get_extendedAmountLoc(transId);

                if (hasLocationExtendedCharge > 0)
                {
                    totalAmount = totalAmount + (hasLocationExtendedCharge * Convert.ToInt32(b.noofperson));
                }

                var hasCateringdiscounted = transdetails.getCateringdiscount(Convert.ToInt32(b.noofperson));


                if (hasCateringdiscounted > 0)
                {
                    totalAmount = totalAmount - (hasCateringdiscounted * Convert.ToInt32(b.noofperson));
                }



                //var belowminpax = transdetails.GetBelowMinPaxAmount(Convert.ToInt32(b.noofperson));

                //if (belowminpax > 0)
                //{
                //    var belowminpaxAmt = belowminpax * Convert.ToInt32(b.noofperson);

                //    totalAmount = totalAmount + belowminpaxAmt;
                //}
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }



            return(totalAmount);
        }