コード例 #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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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
ファイル: StarRatings.cs プロジェクト: baoping28/Foodreadynet
        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());
        }
コード例 #8
0
        public ActionResult GetBizTime(int id)
        {
            BizInfo  bi = BizInfoRepository.GetBizInfoById(id);
            DateTime dt = SearchFilter.ConvertLocalToMyTime(bi.BizHour.BizTimeZoneName);

            return(Json(new
            {
                result = dt.ToLongTimeString()
            }));
        }
コード例 #9
0
 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);
     }
 }
コード例 #10
0
        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);
            }
        }
コード例 #17
0
        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"));
        }
コード例 #18
0
        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"
            }));
        }
コード例 #22
0
        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());
        }
コード例 #23
0
        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
ファイル: StarRatings.cs プロジェクト: baoping28/Foodreadynet
        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
ファイル: StarRatings.cs プロジェクト: baoping28/Foodreadynet
        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);
        }