示例#1
0
        public static YelpReviewModel GetYelpBiz(BizInfo vBiz)
        {
            YelpReviewModel yrm  = new YelpReviewModel();
            Yelp            yelp = new Yelp(Config.Options);

            //  var results = yelp.Search("Restaurants " + vBiz.BizCuisines.FirstOrDefault().CuisineTypeName, vBiz.BizAddressString).Result;
            YelpSharp.Data.Business biz = new YelpSharp.Data.Business();
            // biz=results.businesses.FirstOrDefault(e => e.phone == vBiz.ContactInfo.Phone);
            // biz = (biz == null) ? null : yelp.GetBusiness(biz.id).Result;
            biz     = string.IsNullOrEmpty(vBiz.YelpBizId)? null: yelp.GetBusiness(vBiz.YelpBizId).Result;
            yrm.Biz = biz;
            if (biz != null)
            {
                if (biz.reviews != null && biz.reviews.Count > 0)
                {
                    int lRandIndex = Helper.GetRandItem(0, biz.reviews.Count - 1);
                    yrm.Review = biz.reviews[lRandIndex];
                    if (yrm.Review.user != null)
                    {
                        yrm.User = yrm.Review.user;
                    }
                }
            }
            return(yrm);
        }
        public ActionResult CheckDeliveryOKResult(DeliveryCheckModel dcm)
        {
            BizInfo bi         = BizInfoRepository.GetBizInfoById(dcm.BizInfoId);
            string  approxtime = string.Empty;
            string  mysAddress = dcm.Address + ", " + dcm.ZipCode;

            ViewBag.ValidateAddress = "Oops, feel like something wrong with you input. Please check it and try again.";
            if (string.IsNullOrEmpty(dcm.Address) || string.IsNullOrEmpty(dcm.ZipCode) || dcm.ZipCode.Length != 5)
            {
                ViewBag.ValidateAddress = "Oops, feel like something wrong with you input. Please check it and try again.";
            }
            else
            {
                decimal st = SearchFilter.GetDistance(mysAddress, bi.BizAddressString, out approxtime);
                string  xx = approxtime;
                if (st < 0.0m)
                {
                    ViewBag.ValidateAddress = "Oops, feel like something wrong with you input. Please check it and try again.";
                }
                else if (st > bi.DeliveryRadius && bi.Delivery)
                {
                    ViewBag.ValidateAddress = "Sorry, your address is beyond the area this restaurant deliveries to. Try other restaurants or you may need change your location to try again.";
                }
                else
                {
                    ViewBag.ValidateAddress = "Yes, " + dcm.BizName + " delivers to your area : " + mysAddress + ".";
                }
            }
            return(PartialView(dcm));
        }
        public BizInfo SetBizInfoRating(int vBizInfoID, int vRating)
        {
            BizInfo bi = new BizInfo();

            bi = Shoppingctx.BizInfos.FirstOrDefault(b => b.BizInfoId == vBizInfoID);
            bi.RatingVotes++;
            bi.TotalRating = bi.TotalRating + vRating;
            switch (vRating)
            {
            case 1: bi.OneStarVotes++;
                break;

            case 2: bi.TwoStarVotes++;
                break;

            case 3: bi.ThreeStarVotes++;
                break;

            case 4: bi.FourStarVotes++;
                break;

            case 5: bi.FiveStarVotes++;
                break;

            default: break;
            }
            bi.UpdatedDate = DateTime.Now;
            return(Shoppingctx.SaveChanges() > 0 ? bi : null);
        }
示例#4
0
        public static MvcHtmlString Ratings(this HtmlHelper helper, BizInfo post)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("<span class='rating' rating='{0}' post='{1}' title='{2}'>", post.AverageRating, post.BizInfoId, String.Format("{0}  {1} Click to cast vote ", post.AverageRating == 0.00M ? "No one rated yet." : "Rated " + post.AverageRating + " out of 5 stars by", post.RatingVotes == 0 ? "" : post.RatingVotes + " person(s)."));
            string formatStr = "<img src='/Content/Images/{0}' alt='star' width='12' height='12' class='star' value='{1}' />";
            int    ar        = (int)(post.AverageRating * 2 + 0.5m);

            for (int i = 1; i <= 5; i++)
            {
                if (ar >= i * 2)
                {
                    sb.AppendFormat(formatStr, "ratingStar.png", i);
                }
                else if (ar == i * 2 - 1)
                {
                    sb.AppendFormat(formatStr, "ratingHalf.png", i);
                }
                else
                {
                    sb.AppendFormat(formatStr, "ratingEmpty.png", i);
                }
            }
            sb.Append("&nbsp;<span></span></span>");
            return(MvcHtmlString.Create(sb.ToString()));
        }
示例#5
0
        public JsonResult SetRating(string penname, string title, int id, string comment, int rating)
        {
            try
            {
                int ratingValue = CanUserVote(id, rating);
                if (ratingValue > 0)
                {
                    return(Json(new
                    {
                        Success = false,
                        Message = "Sorry, you already voted " + ratingValue.ToString() + " star(s) for this post."
                    }));
                }

                BizInfo post = BizInfoRepository.SetBizInfoRating(id, rating);
                Vote    v    = VoteRepository.AddVote(0, id, title, penname, CurrentUserID, rating, CurrentUserIP,
                                                      comment, DateTime.Now, UserName, DateTime.Now, UserName, true);
                return(Json(new
                {
                    Success = true,
                    Message = "Your Vote for " + Math.Abs(ratingValue).ToString() + " star(s)  was cast successfully" //  , Result = new { Rating = post.AverageRating, Raters = post.Votes }
                }));
            }
            catch
            {
                return(Json(new
                {
                    Success = false,
                    Message = "your vote  was not casted successfully."
                }));
            }
        }
示例#6
0
        public ActionResult GoCheckout(ShoppingCart cart)
        {
            HandleCart(cart);
            BizInfo      bi  = BizInfoRepository.GetBizInfoById(cart.BizId);
            AddItemModel aim = new AddItemModel();

            SharedShoppingCart ssc = new SharedShoppingCart();

            if (string.IsNullOrEmpty(cart.CartKey) == false)
            {
                ssc = GetGroupShoppingCart(cart.CartKey);
            }
            decimal partysubtotal = ssc.PartySubTotal();

            ViewBag.okcheckout = "show";
            bool isBoss = (string.IsNullOrEmpty(cart.PersonName) == false && cart.PersonName == GroupCart.GroupCarts[cart.CartKey].PartyBossName);

            if (!isBoss || GroupCart.GroupCarts[cart.CartKey].PartyTotalItems == 0 || (GroupCart.GroupCarts[cart.CartKey].PartyOrderMinimum() > GroupCart.GroupCarts[cart.CartKey].PartySubTotal() && GroupCart.GroupCarts[cart.CartKey].IsPartyDelivery) || (GroupCart.GroupCarts[cart.CartKey].PartyCart[cart.BossName].IsBizDelivery == false && GroupCart.GroupCarts[cart.CartKey].IsPartyDelivery))
            {
                ViewBag.okcheckout = "off";
            }
            ssc.IsSharedCartLocked = true;
            aim.SharedCart         = ssc;
            aim.Cart = cart;
            return(PartialView(aim));
        }
示例#7
0
        public ActionResult Index()
        {
            BizInfo bi = BizInfoRepository.GetBizInfoByUserId(CurrentUserID);

            ViewBag.bizname = bi.BizTitle;
            ViewBag.bizid   = bi.BizInfoId.ToString();
            ViewBag.contime = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
            return(View());
        }
        public ActionResult GetBizTime(int id)
        {
            BizInfo  bi = BizInfoRepository.GetBizInfoById(id);
            DateTime dt = SearchFilter.ConvertLocalToMyTime(bi.BizHour.BizTimeZoneName);

            return(Json(new
            {
                result = dt.ToLongTimeString()
            }));
        }
 private bool ChangeLockState(BizInfo vBizInfo, bool vState)
 {
     using (FRShoppingEntities frenty = new FRShoppingEntities())
     {
         BizInfo up = frenty.BizInfos.FirstOrDefault(e => e.BizInfoId == vBizInfo.BizInfoId);
         up.UpdatedDate = DateTime.Now;
         up.Active      = vState;
         return(frenty.SaveChanges() > 0 ? true : false);
     }
 }
        public ActionResult MakeReservation(int id) // id=BizInfoId
        {
            BizInfo bi = BizInfoRepository.GetBizInfoById(id);

            ViewBag.biztitle = bi.BizTitle;
            ViewBag.imgUrl   = bi.ImageUrl;
            BizRVInfo brv = bi.GetBizRVInfo;

            ViewBag.maplink = GoogleMapLink(bi);
            return(PartialView(brv));
        }
示例#11
0
 public EmailManager(BizInfo vEMBizInfo, ShoppingCart vEMShoppingCart, string vOrderTime, string vOrderType, string vPaymentType, string vScheduleDateTime, string vOrderNumber,
                     string vName, string vRoomNumber, string vAddress, string vCity, string vState, string vZip, string vPhone, string vIpAddress, string vCreditCardType,
                     string vCreditCardNumber, string vExpirationDate, string vSecurityCode, string vSubtotal, string vTax, string vServiceCharge, string vDeliveryCharge, string vTip, string vDriveName, string vCouponChoice,
                     string vTotal, string vInstruction)
 {
     EMBizInfo      = vEMBizInfo; EMShoppingCart = vEMShoppingCart; OrderTime = vOrderTime; OrderType = vOrderType;
     PaymentType    = vPaymentType; ScheduleDateTime = vScheduleDateTime; OrderNumber = vOrderNumber; Name = vName; RoomNumber = vRoomNumber;
     Address        = vAddress; City = vCity; State = vState; Zip = vZip; Phone = vPhone; IpAddress = vIpAddress;
     CreditCardType = vCreditCardType; CreditCardNumber = vCreditCardNumber; ExpirationDate = vExpirationDate;
     SecurityCode   = vSecurityCode; Subtotal = vSubtotal; Tax = vTax; ServiceCharge = vServiceCharge; DeliveryCharge = vDeliveryCharge; Tip = vTip;
     DriveName      = vDriveName; CouponChoice = vCouponChoice; Total = vTotal; Instruction = vInstruction;
 }
示例#12
0
        public static string GoogleMapLink(BizInfo vBizInfo)
        {
            if (vBizInfo == null)
            {
                return(string.Empty);
            }
            string s = vBizInfo.BizAddressString.Trim();

            s = System.Text.RegularExpressions.Regex.Replace(s, @"\s+", " ");
            s = s.Replace(" ", "+");
            return(@"https://maps.google.com/maps?saddr=Your+Address&daddr=" + s + ",+USA&hl=en&ll=" + vBizInfo.Latitude + "," + vBizInfo.Longitude);
        }
示例#13
0
        public ActionResult MenuSection(int id, ShoppingCart cart, string sortParam = "")
        {
            SubMenuViewModel smvm = new SubMenuViewModel();

            smvm.CategoryList = CategoryRepository.GetCategoriesByBizCuisineId(id, true).Where(e => e.Title.ToLower() != "lunch special").ToList();
            BizInfo cg = BizCuisineRepository.GetBizCuisineById(id).BizInfo;

            smvm.MenuList            = BizCuisineRepository.GetBizCuisinesByBizInfoId(true, cg.BizInfoId);
            smvm.sortParameter       = sortParam;
            smvm.CurrentBizCuisineId = id;
            return(PartialView(smvm));
        }
示例#14
0
        public bool UpdateLatLon(string vUserId, string vLat, string vLon)
        {
            BizInfo up = default(BizInfo);

            using (FRShoppingEntities frenty = new FRShoppingEntities())
            {
                up             = frenty.BizInfos.FirstOrDefault(e => e.UserId == vUserId);
                up.UpdatedDate = DateTime.Now;
                up.Latitude    = vLat;
                up.Longitude   = vLon;
                return(frenty.SaveChanges() > 0 ? true : false);
            }
        }
示例#15
0
        public void SendGroupEmail(ShoppingCart cart, string paypalTotal)
        {
            EmailManager  em = new EmailManager();
            EmailContents ec = new EmailContents();
            BizInfo       bi = BizInfoRepository.GetBizInfoById(cart.BizId);

            em.EMBizInfo      = bi;
            em.EMShoppingCart = cart;

            em.OrderTime = DateTime.Now.ToShortTimeString() + " " + DateTime.Now.ToShortDateString();
            TempData["DeliveryAddress"] = "";
            em.OrderType        = cart.IsDelivery ? "Delivery" : "Pickup";
            em.PaymentType      = "Credit Card";
            em.ScheduleDateTime = base.CurrentOrder.ScheduleTime + ", " + base.CurrentOrder.ScheduleDate;
            em.OrderNumber      = (800000000 + base.CurrentOrder.OrderId).ToString();
            em.Name             = base.CurrentOrder.FirstName + " " + base.CurrentOrder.LastName;

            em.Address          = base.CurrentOrder.Street;
            em.City             = base.CurrentOrder.City;
            em.State            = base.CurrentOrder.State;
            em.Zip              = base.CurrentOrder.ZipCode;
            em.Phone            = base.CurrentCreditCard.Phone;
            em.IpAddress        = base.CurrentUserIP;
            em.CreditCardType   = CreditCardTypeRepository.GetCreditCardTypeById(base.CurrentCreditCard.CreditCardTypeId).Title;
            em.CreditCardNumber = "xxxx-xxxx-xxxx-" + base.CurrentCreditCard.CreditCardNumber.Substring(base.CurrentCreditCard.CreditCardNumber.Length - 4);
            em.ExpirationDate   = base.CurrentCreditCard.ExpirationMonth.ToString() + "/" + base.CurrentCreditCard.ExpirationYear.ToString();
            em.SecurityCode     = "xx" + base.CurrentCreditCard.SecurityCode.ToString().Substring(base.CurrentCreditCard.SecurityCode.ToString().Length - 1);;

            em.Subtotal         = Helper.FormatPriceWithDollar(cart.SubTotal());;
            em.Tax              = ToUSD(cart.Tax().ToString("N2"));
            em.CouponChoice     = base.CurrentOrder.CouponChoice;
            em.ServiceCharge    = ToUSD(cart.serviceCharge.ToString("N2"));
            em.DeliveryCharge   = ToUSD(cart.DeliveryFee.ToString("N2"));
            em.Tip              = ToUSD(cart.DriverTip.ToString("N2"));
            em.DriveName        = base.CurrentOrder.DriverName;
            em.CouponChoice     = base.CurrentOrder.CouponChoice;
            em.Instruction      = base.CurrentOrder.CustomerMessage;
            em.Total            = Helper.FormatPriceWithDollar(cart.Total()); // ToUSD(cart.Total().ToString("N2"));
            ec.FromEmailAddress = Globals.Settings.ContactForm.MailFrom;
            ec.FromName         = "FoodReady.Net";
            ec.Subject          = "New online order";
            ec.To      = Globals.Settings.ContactForm.MailTo; // send to FoodReady.Net
            ec.Body    = em.BuildEmailHtmlBodyForOrder();
            em.FaxBody = em.BuildFaxHtmlBodyForOrder();
            em.SendFax(bi.Fax);
            em.Send(ec);
            // ec.To = base.CurrentOrder.Email; // send to user
            //em.Send(ec);
            ec.To = bi.ContactInfo.Email; // send to restaurant
            em.Send(ec);
        }
示例#16
0
        public BizInfo AddBizInfo(BizInfo vBizInfo)
        {
            try
            {
                Shoppingctx.BizInfos.Add(vBizInfo);
                base.PurgeCacheItems(CacheKey);

                return(Shoppingctx.SaveChanges() > 0 ? vBizInfo : null);
            }
            catch
            {
                return(null);
            }
        }
        public ActionResult ShowThemeChart(int id)
        {
            BizInfo p = BizInfoRepository.GetBizInfoById(id);

            var myChart = new System.Web.Helpers.Chart(width: 200, height: 160, theme: ChartTheme.Green)
                          .AddTitle(p.AverageRating.ToString() + " out of 5 stars")
                          .AddSeries(
                name: "Reviews",
                xValue: new[] { "5 Star(" + p.FiveStarVotes.ToString() + "):", "4 Star(" + p.FourStarVotes.ToString() + "):", "3 Star(" + p.ThreeStarVotes.ToString() + "):", "2 Star(" + p.TwoStarVotes.ToString() + "):", "1 Star(" + p.OneStarVotes.ToString() + "):" },
                yValues: new[] { (p.FiveStarVotes * 5).ToString(), (p.FourStarVotes * 4).ToString(), (p.ThreeStarVotes * 3).ToString(), (p.TwoStarVotes * 2).ToString(), p.OneStarVotes.ToString() })
                          .GetBytes("png");

            return(File(myChart, "image/png"));
        }
        public ActionResult DoRVCancel(int id) // id=ReservationId
        {
            bool        sendSuccess = false;
            Reservation r           = new Reservation();

            r = ReservationRepository.GetReservationById(id);
            BizInfo bi = BizInfoRepository.GetBizInfoById(r.BizRVInfo.BizInfoId);

            if (r.Active)
            {
                ReservationRepository.LockReservation(r);
                EmailManager  em = new EmailManager();
                EmailContents ec = new EmailContents("FoodReady.Net", r.Email, Globals.Settings.ContactForm.MailFrom,
                                                     "Reservation cancelled", EmailManager.BuildRVCancelToCustomer(r));

                em.FaxBody = EmailManager.BuildRVCancelToRestaurant(r);
                em.SendFax(bi.Fax);
                em.Send(ec); // send to customer

                if (em.IsSent == false)
                {
                    sendSuccess = false;
                    TempData["sentCustomerMsg"] = "Your message has not been sent out for some reasons.";
                }
                else
                {
                    sendSuccess = true;
                    TempData["sentCustomerMsg"] = "Your message has  been sent out successfully.";
                }
                ec.FromName         = "FoodReady.Net";
                ec.To               = bi.ContactInfo.Email; // to restaurant;
                ec.FromEmailAddress = Globals.Settings.ContactForm.MailFrom;
                ec.Subject          = "Reservation cancelled";
                ec.Body             = EmailManager.BuildRVCancelToRestaurant(r);
                em.Send(ec);
                if (em.IsSent == false)
                {
                    sendSuccess = false;
                    TempData["sentRestaurantMsg"] = "Your message has not been sent out for some reasons.";
                }
                else
                {
                    sendSuccess = true;
                    TempData["sentRestaurantMsg"] = "Your message has  been sent out successfully.";
                }
            }
            ViewBag.SendingSuccess = sendSuccess;
            return(PartialView());
        }
示例#19
0
        public static bool IsHolidayClose(BizInfo vBizInfo, int vDay) // vDay==1---today, vDay==2---tomorrow
        {
            bool   close   = false;
            string mytoday = vDay == 1 ? Helper.ConvertLocalToMyTime(vBizInfo.BizHour.BizTimeZoneName).ToShortDateString() : Helper.ConvertLocalToMyTime(vBizInfo.BizHour.BizTimeZoneName).AddDays(1).ToShortDateString();

            foreach (var c in vBizInfo.DayOfCloses)
            {
                if (mytoday == c.CloseDay.ToShortDateString())
                {
                    close = true;
                    break;
                }
            }
            return(close);
        }
示例#20
0
        public static bool ItemFilter(BizInfo vBizInfo, string schedule, string time, string cuisine, string min, string dist, bool yrating, string freeDelivery, string breakfast, string lunchSpecial, string coupons, string freeItems, BrowseHistory bh)
        {
            string  approxtime   = string.Empty;
            bool    hascuisine   = string.IsNullOrEmpty(cuisine) ? true : cuisine.ToLower() == "all" ? true : vBizInfo.ContainsCuisine(cuisine);
            bool    isopen       = IsOpenAt(vBizInfo, int.Parse(schedule), time);
            bool    delmin       = decimal.Parse(min) <= 0.0m ? true : vBizInfo.DeliveryMinimum < decimal.Parse(min);
            decimal g            = GetDistance(bh.FullAddress, vBizInfo, out approxtime);
            bool    distance     = decimal.Parse(dist) <= 0.0m ? true : (g < 0.0m ? false : g < decimal.Parse(dist));
            bool    freedel      = freeDelivery == "checked" ? vBizInfo.DeliveryFee <= 0.0m : true;
            bool    hasbreakfast = breakfast == "checked" ? vBizInfo.HasBreakfast : true;
            bool    lunch        = lunchSpecial == "checked" ? vBizInfo.HasLunchSpecial : true;
            bool    coupon       = coupons == "checked" ? vBizInfo.HasDiscountCoupons : true;
            bool    fitem        = freeItems == "checked" ? vBizInfo.HasFreeItemCoupons : true;

            return(isopen && hascuisine && delmin && distance && yrating && freedel && hasbreakfast && lunch && coupon && fitem);
        }
示例#21
0
        public ActionResult ProcessGroupSchedule(string schedule, string time, ShoppingCart cart)
        {
            HandleCart(cart);
            BizInfo bi     = BizInfoRepository.GetBizInfoById(cart.BizId);
            bool    isopen = SearchFilter.IsOpenAt(bi, int.Parse(schedule), time);

            cart.ScheduleDate = schedule == "2" ? "Tomorrow" : "Today";
            cart.ScheduleTime = time;
            GroupCart.GroupCarts[cart.CartKey].PartyScheduleDate = cart.ScheduleDate;
            GroupCart.GroupCarts[cart.CartKey].PartyScheduleTime = cart.ScheduleTime;
            return(Json(new
            {
                schDate = cart.ScheduleDate,
                schTime = cart.ScheduleTime,
                result = isopen ? "success" : "failed"
            }));
        }
        public ActionResult FaxOrder(int id, int orderid) // id=BizInfoId
        {
            string result = "Fax failed!";

            if (id > 0 && orderid > 0)
            {
                Order        od = OrderRepository.GetOrderById(orderid);
                EmailManager em = new EmailManager();
                em.FaxBody = EmailManager.BuildOrderFaxBody(od);
                em.SendOrderFax(od.BizInfo.Fax);
                if (em.IsFaxSent)
                {
                    BizInfo bi = BizInfoRepository.GetBizInfoById(id);
                    result = "Order(id=<b>" + orderid + "</b>) " + "has been successfully faxed to <b>" + bi.BizTitle + "</b>";
                }
            }
            ViewBag.faxnote = result;
            return(PartialView());
        }
        public ActionResult FindTable(int id, string rvDate, string rvTime, int rvNum) // id=BizInfoId
        {
            BizInfo bi = BizInfoRepository.GetBizInfoById(id);

            ViewBag.biztitle = bi.BizTitle;
            BizRVInfo brv     = bi.GetBizRVInfo;
            int       totalRV = ReservationRepository.GetAllReservationByBizInfoRVDate(id, rvDate).Count;
            bool      seatsOK = (brv.SeatedCapacity - totalRV) > rvNum;

            ViewBag.tableAvailable = (seatsOK && SearchFilter.IsTheDayOpen(bi, DateTime.Parse(rvDate)))? "y" : "n";
            RVConfirmationModel rvc = new RVConfirmationModel();

            rvc.BizInfoId    = id;
            rvc.RVDate       = rvDate;
            rvc.RVTime       = rvTime;
            rvc.RVNum        = rvNum;
            ViewBag.datetime = DateTime.Parse(rvDate).ToLongDateString() + " " + rvTime;
            return(PartialView(rvc));
        }
示例#24
0
        public static MvcHtmlString PrintDinnerSchedule(this HtmlHelper helper, BizInfo vBizInfo, bool vBreak)
        {
            StringBuilder sb = new StringBuilder();

            if (vBreak)
            {
                sb.Append("<table>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.MonStart, vBizInfo.BizHour.MonClose, vBreak) + "</tr>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.TueStart, vBizInfo.BizHour.TueClose, vBreak) + "</tr>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.WedStart, vBizInfo.BizHour.WedClose, vBreak) + "</tr>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.ThuStart, vBizInfo.BizHour.ThuClose, vBreak) + "</tr>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.FriStart, vBizInfo.BizHour.FriClose, vBreak) + "</tr>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.SatStart, vBizInfo.BizHour.SatClose, vBreak) + "</tr>");
                sb.Append("<tr><td> &nbsp;</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.SunStart, vBizInfo.BizHour.SunColse, vBreak) + "</tr></table>");
            }
            else
            {
                sb.Append("<table>");
                sb.Append("<tr><td>Mon.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.MonStart, vBizInfo.BizHour.MonClose, vBreak) + "</tr>");
                sb.Append("<tr><td>Tue.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.TueStart, vBizInfo.BizHour.TueClose, vBreak) + "</tr>");
                sb.Append("<tr><td>Wed.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.WedStart, vBizInfo.BizHour.WedClose, vBreak) + "</tr>");
                sb.Append("<tr><td>Thu.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.ThuStart, vBizInfo.BizHour.ThuClose, vBreak) + "</tr>");
                sb.Append("<tr><td>Fri.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.FriStart, vBizInfo.BizHour.FriClose, vBreak) + "</tr>");
                sb.Append("<tr><td>Sat.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.SatStart, vBizInfo.BizHour.SatClose, vBreak) + "</tr>");
                sb.Append("<tr><td>Sun.</td>");
                sb.Append(PrintTime(vBizInfo.BizHour.SunStart, vBizInfo.BizHour.SunColse, vBreak) + "</tr></table>");
            }
            return(MvcHtmlString.Create(sb.ToString()));
        }
示例#25
0
        public ActionResult ShowChart(int id)
        {
            BizInfo b       = BizInfoRepository.GetBizInfoById(id);
            string  myTheme = @"<Chart BackColor=""#e6e5e5"" >
                                    <ChartAreas>
                                        <ChartArea Name=""Default"" BackColor=""Transparent""></ChartArea>
                                    </ChartAreas>
                                </Chart>";

            var myChart = new System.Web.Helpers.Chart(width: 220, height: 170, theme: myTheme)
                          .AddTitle(b.AverageRating.ToString() + " out of 5 stars")
                          .AddSeries(
                chartType: "bar",
                name: "Reviews",
                xValue: new[] { "5 Star(" + b.FiveStarVotes.ToString() + "):", "4 Star(" + b.FourStarVotes.ToString() + "):", "3 Star(" + b.ThreeStarVotes.ToString() + "):", "2 Star(" + b.TwoStarVotes.ToString() + "):", "1 Star(" + b.OneStarVotes.ToString() + "):" },
                yValues: new[] { (b.FiveStarVotes * 5).ToString(), (b.FourStarVotes * 4).ToString(), (b.ThreeStarVotes * 3).ToString(), (b.TwoStarVotes * 2).ToString(), b.OneStarVotes.ToString() })
                          .GetBytes("png");

            return(File(myChart, "image/png"));
        }
示例#26
0
        public static MvcHtmlString PrintLunchSchedule(this HtmlHelper helper, BizInfo vBizInfo, bool vBreak)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<table>");
            sb.Append("<tr><td>Mon.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LMonStart, vBizInfo.BizHour.LMonClose, vBreak) + "</tr>");
            sb.Append("<tr><td>Tue.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LTueStart, vBizInfo.BizHour.LTueClose, vBreak) + "</tr>");
            sb.Append("<tr><td>Wed.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LWedStart, vBizInfo.BizHour.LWedClose, vBreak) + "</tr>");
            sb.Append("<tr><td>Thu.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LThuStart, vBizInfo.BizHour.LThuClose, vBreak) + "</tr>");
            sb.Append("<tr><td>Fri.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LFriStart, vBizInfo.BizHour.LFriClose, vBreak) + "</tr>");
            sb.Append("<tr><td>Sat.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LSatStart, vBizInfo.BizHour.LSatClose, vBreak) + "</tr>");
            sb.Append("<tr><td>Sun.</td>");
            sb.Append(PrintTime(vBizInfo.BizHour.LSunStart, vBizInfo.BizHour.LSunClose, vBreak) + "</tr></table>");
            return(MvcHtmlString.Create(sb.ToString()));
        }
示例#27
0
        public ActionResult GoGroup(string name, string address, string zip, int bizid, decimal maxorder, ShoppingCart cart, BrowseHistory bh)
        {
            string cartkey = Guid.NewGuid().ToString();

            if (cart.BizId != bizid)
            {
                cart.Clear();
                BizInfo bi = BizInfoRepository.GetBizInfoById(bizid);
                cart.BizId         = bizid;
                cart.IsBizDelivery = bi.Delivery;
                cart.TaxRate       = bi.TaxPercentageRate;
                cart.OrderMinimum  = bi.DeliveryMinimum;
                cart.DeliveryFee   = bi.DeliveryFee;
                cart.BizName       = bi.BizTitle;
            }
            MySharedCartId               = cartkey;
            MyLabel                      = name;
            MyInfo.BossName              = name;
            MyInfo.MyLabelName           = name;
            MyInfo.SharedCartId          = cartkey;
            cart.BossName                = name;
            cart.CartKey                 = cartkey;
            cart.PersonName              = name;
            cart.IsFinishedShareOrdering = false;
            SharedShoppingCart ssc = new SharedShoppingCart();

            ssc.MaxOrder           = maxorder <= 0.0m ? 999999.0m : maxorder;
            ssc.PartyBossName      = name;
            ssc.SharedCartKey      = cartkey;
            ssc.PartyAddress       = address + " " + zip;
            ssc.PartyZip           = zip;
            ssc.IsSharedCartLocked = false;
            ssc.PartyCart.Add(name, cart);
            ssc.SelectBizInfos = bh == null ? new List <BizInfo>() : bh.GroupBizOption;
            SetGroupShoppingCart(cartkey, ssc);
            string url = Url.Action("Share", new { groupid = cartkey, bizid = bizid });

            return(Redirect(url));
        }
示例#28
0
        public ActionResult GetCart(ShoppingCart cart)
        {
            BizInfo bi      = BizInfoRepository.GetBizInfoById(cart.BizId);
            string  timeout = "timein";

            if (bi == null)
            {
                timeout = "timeout";
                return(Json(new
                {
                    timeexp = timeout
                }));
            }
            decimal cartTotal = cart == null ? 0.00m : cart.Total();
            decimal ordermin  = cart == null ? 0.00m : cart.OrderMinimum;
            string  btnShow   = "show";

            if (cart.Lines.Sum(x => x.Quantity) == 0 || (cart.OrderMinimum > cart.SubTotal() && cart.IsDelivery) || (bi.Delivery == false && cart.IsDelivery))
            {
                btnShow = "off";
            }
            return(Json(new
            {
                bizid = cart.BizId.ToString(),
                biztitle = bi.BizTitle,
                bizimg = Url.Content("~/Content/BizImages/" + bi.ImageUrl),
                bizaddress = bi.BizTwoLineAddressString,
                bizlink = "/Restaurants/Menu/" + cart.BizId,
                isbizdelivery = cart.IsBizDelivery ? "yes" : "no",
                isDelivery = cart.IsDelivery ? "Delivery" : "Pickup",
                deliverymin = ordermin > 0.0m ? ToUSD(ordermin.ToString("N2")) : "",
                total = ToUSD(cartTotal.ToString("N2")),
                cartitems = cart.TotalItems.ToString(),
                subtotal = ToUSD(cart.SubTotal().ToString("N2")),
                btnshow = btnShow,
                timeexp = timeout
            }));
        }
示例#29
0
        public ActionResult GoJoin(string name, string groupid, int bizid, ShoppingCart cart)
        {
            if (GroupCart.GroupCarts.ContainsKey(groupid) == false)
            {
                return(Redirect("/Group"));
            }
            else if (GroupCart.GroupCarts[groupid].IsSharedCartLocked && cart.PersonName != GroupCart.GroupCarts[groupid].PartyBossName)
            {
                return(Redirect("/Group"));
            }
            if (cart.BizId != bizid)
            {
                cart.Clear();
                BizInfo bi = BizInfoRepository.GetBizInfoById(bizid);
                cart.BizId         = bizid;
                cart.IsBizDelivery = bi.Delivery;
                cart.TaxRate       = bi.TaxPercentageRate;
                cart.OrderMinimum  = bi.DeliveryMinimum;
                cart.DeliveryFee   = bi.DeliveryFee;
                cart.BizName       = bi.BizTitle;
            }
            MySharedCartId               = groupid;
            MyLabel                      = name;
            MyInfo.BossName              = GroupCart.GroupCarts[groupid].PartyBossName;
            MyInfo.MyLabelName           = name;
            MyInfo.SharedCartId          = groupid;
            cart.BossName                = MyInfo.BossName;
            cart.CartKey                 = groupid;
            cart.PersonName              = name;
            cart.IsFinishedShareOrdering = false;
            if (GroupCart.GroupCarts[groupid].PartyCart.ContainsKey(name) == false && GroupCart.GroupCarts[groupid].IsSharedCartLocked == false)
            {
                GroupCart.GroupCarts[groupid].PartyCart.Add(name, cart);
            }
            string url = Url.Action("Share", new { groupid = groupid, bizid = bizid });

            return(Redirect(url));
        }
示例#30
0
        public static bool IsTheDayHoliday(BizInfo vBizInfo, DateTime vDay)
        {
            bool     close   = false;
            DateTime dt1     = DateTime.Parse(vDay.ToShortDateString());
            DateTime dt2     = DateTime.Parse(DateTime.Now.ToShortDateString());
            double   dayDiff = (dt1 - dt2).TotalDays;

            if (dayDiff < 0)
            {
                return(true);
            }
            string mytoday = Helper.ConvertLocalToMyTime(vBizInfo.BizHour.BizTimeZoneName).AddDays(dayDiff).ToShortDateString();

            foreach (var c in vBizInfo.DayOfCloses)
            {
                if (mytoday == c.CloseDay.ToShortDateString())
                {
                    close = true;
                    break;
                }
            }
            return(close);
        }