Exemple #1
0
        public JsonResult AddItemToOrder(Int64 OID, Int64 ItemId)
        {
            var          UserInfo  = Request.Cookies["UserInfo"];
            var          UserId    = int.Parse(UserInfo["UserCode"]);
            HG_Items     ObjItem   = new HG_Items().GetOne(ItemID: ItemId);
            HG_OrderItem OrderItem = new HG_OrderItem()
            {
                FID          = ObjItem.ItemID,
                Price        = ObjItem.Price,
                Count        = 0,
                IsAddon      = "0",
                OID          = OID,
                Status       = 4,
                TickedNo     = 0,
                OrgId        = ObjItem.OrgID,
                ChefSeenBy   = UserId,
                OrderDate    = DateTime.Now,
                UpdatedBy    = 0,
                UpdationDate = DateTime.Now,
                OrdById      = UserId,
                TaxInItm     = ObjItem.Tax,
                CostPrice    = ObjItem.CostPrice
            };

            OrderItem.Save();
            OrderItem.CostPrice = OrderItem.Price;
            OrderItem.Price     = 0.00;
            OrderItem.ItemNam   = ObjItem.Items;
            return(Json(new { msg = OrderItem }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult SaveEditOrder(Int64 OID, int PMode)
        {
            var       UserInfo = Request.Cookies["UserInfo"];
            var       UserType = UserInfo["UserType"];
            HG_Orders ObjOrder = new HG_Orders().GetOne(OID);


            if (UserType != "SA")
            {
                if (ObjOrder.Create_Date < DateTime.Now.AddDays(-2).Date)
                {
                    return(Json(new { msg = "Can't Modify Order After 2 days" }));
                }
                if (ObjOrder.PaymentStatus == 3 && PMode != ObjOrder.PaymentStatus)
                {
                    return(Json(new { msg = "Can't change Payment mode" }));
                }
                if (ObjOrder.PaymentStatus != 3 && PMode == 3)
                {
                    return(Json(new { msg = "Can't change Payment To foodDo" }));
                }
            }
            ObjOrder.PaymentStatus = PMode;
            var OrderItems             = new HG_OrderItem().GetAll(OID);
            var OrderItemsWithouTicket = OrderItems.FindAll(x => x.TickedNo == 0);

            if (OrderItemsWithouTicket.Count > 0)
            {
                List <HG_Ticket> list      = new HG_Ticket().GetAll(ObjOrder.OrgId, onDate: ObjOrder.Create_Date);
                HG_Ticket        objticket = new HG_Ticket()
                {
                    OrgId = ObjOrder.OrgId, OID = ObjOrder.OID, TicketNo = list.Count + 1, DeliveryCharge = 0, CreationDate = ObjOrder.Create_Date
                };
                int Ticketno = objticket.save();
                foreach (var OrdItem in OrderItemsWithouTicket)
                {
                    OrdItem.TickedNo = Ticketno;
                    OrdItem.Save();
                }
            }
            var CompletedCancelItems = OrderItems.FindAll(x => x.Status == 3 || x.Status == 4);

            if (ObjOrder.PaymentStatus > 0 && OrderItems.Count == CompletedCancelItems.Count)
            {
                ObjOrder.Status = "3";// mark completed
            }
            ObjOrder.Save();
            return(Json(new { data = OID }, JsonRequestBehavior.AllowGet));
        }
        public JObject UpdateAmt(int ID, int Cnt, int Pmode, double Rate)
        {
            HG_OrderItem OBJOrderItem = new HG_OrderItem().GetOne(ID);
            var          UserInfo     = Request.Cookies["UserInfo"];
            var          UserType     = UserInfo["UserType"];
            JObject      result       = new JObject();

            if (UserType != "SA")
            {
                if (OBJOrderItem.OrderDate < DateTime.Now.AddDays(-2).Date)
                {
                    result.Add("Status", 400);
                    result.Add("Rate", OBJOrderItem.Price);
                    result.Add("MSG", "Can't Modify Order After 2 days");
                    return(result);
                }
                if (Pmode == 3)
                {
                    result.Add("Status", 400);
                    result.Add("Rate", OBJOrderItem.Price);
                    result.Add("MSG", "Can't change Order in foodDo mode");
                    return(result);
                }
            }
            double price = 0.0;

            if (Cnt >= 0)
            {
                if (OBJOrderItem.Status == 4 && Cnt > 0)
                {
                    OBJOrderItem.Status = 3;
                }
                OBJOrderItem.Count = Cnt;
                OBJOrderItem.Price = Rate;
                OBJOrderItem.Save();
                price = OBJOrderItem.Count * OBJOrderItem.Price;
                result.Add("Status", 200);
                result.Add("MSG", price.ToString("0.00"));
            }
            else
            {
                result.Add("Status", 400);
                result.Add("Rate", OBJOrderItem.Price);
                result.Add("MSG", "Quantity Can't be minus");
                return(result);
            }
            return(result);
        }
Exemple #4
0
        public ActionResult Delete(System.Int64 ID)
        {
            List <HG_OrderItem> orderList = new HG_OrderItem().GetAll();

            orderList = orderList.FindAll(x => x.FID == ID);
            if (orderList.Count > 0)
            {
                return(Json(new { msg = "Item Already Used in Orders" }, JsonRequestBehavior.AllowGet));
            }
            List <OrdMenuCtgItems> listitem = OrdMenuCtgItems.GetAll(ItemId: ID);

            if (listitem.Count > 0)
            {
                return(Json(new { msg = "Item Already Used in Order Menu " }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                int i = HG_Items.Dell(ID);
            }
            return(Json(new { data = "1" }, JsonRequestBehavior.AllowGet));
        }
        // Insert Into Balance Stement After Registration from Calaculation start Date
        public ActionResult InsertIntoBalanceStementAfterRegistration(DateTime CalaculationStartFrom, int OrgId)
        {
            BalanceStatement bObj = new BalanceStatement();


            List <BalanceStatement>       jObjList      = new List <BalanceStatement>();
            List <HG_Orders>              OrdersDetails = new List <HG_Orders>();
            List <HG_OrganizationDetails> OrgList       = new List <HG_OrganizationDetails>();
            List <HG_Orders>              OrdrList      = new List <HG_Orders>();

            OrdrList = new HG_Orders().GetAll(OrgId, Status: 3);
            List <PaytmResn> Onlinepayment = new List <PaytmResn>();
            int    LastEntryNo             = 0;
            double LastBalance             = 0.00;

            foreach (var ord in OrdrList)
            {
                double totalAmt = 0.00;
                List <HG_OrderItem> orderitemlist = new HG_OrderItem().GetAll(ord.OID);
                orderitemlist = orderitemlist.FindAll(x => x.Status == 3 && x.OrderDate.Date >= CalaculationStartFrom.Date);//only completed items


                if (ord.PaymentStatus == 1 || ord.PaymentStatus == 2)
                {
                    for (int i = 0; i < orderitemlist.Count; i++)
                    {
                        OrdrList = new HG_Orders().GetAll(orderitemlist[i].OrgId, Status: 3);
                        HG_Orders Ord = OrdrList.Find(x => x.OID == orderitemlist[i].OID);

                        totalAmt += Ord.DeliveryCharge;
                        totalAmt += orderitemlist[i].Count * orderitemlist[i].Price;
                    }
                    BalanceStatement Obj          = new BalanceStatement();
                    HG_Orders        od           = new HG_Orders().GetOne(ord.OID);
                    Ledger           LedgerDetail = Ledger.GetAllList().Where(x => x.DebtorType == 1 &&
                                                                              x.OrgId == OrgId).FirstOrDefault();

                    if (od.PaymentStatus == 1 || od.PaymentStatus == 2)
                    {
                        double amt = (totalAmt * LedgerDetail.MarginOnCash) / 100;
                        Obj.CRAmount  = (amt) + ((amt * LedgerDetail.TaxOnAboveMargin) / 100);
                        Obj.TaxOnCash = LedgerDetail.TaxOnAboveMargin;
                    }

                    Obj.Date = ord.Create_Date;

                    // Obj.Amount = Amount;
                    BalanceStatement TBalance = BalanceStatement.GetAllForBalanceCalculation(OrgId).Last();
                    Obj.Balance   = TBalance.Balance - Obj.CRAmount;
                    Obj.OrgId     = OrgId;
                    Obj.OrderId   = ord.OID;
                    Obj.Narration = "Commission of Order No." + ord.OID;
                    Obj.SaveCRValue();
                }
                else if (ord.PaymentStatus == 3)
                {
                    Onlinepayment = PaytmResn.GetAll();
                    PaytmResn paytmTxn = Onlinepayment.Find(x => x.OID == ord.OID);

                    totalAmt += ord.DeliveryCharge;
                    totalAmt += Convert.ToDouble(paytmTxn.PaidAmount);


                    if (Onlinepayment.Count > 0)
                    {
                        Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.DebtorType == 1 &&
                                                                         x.OrgId == OrgId).FirstOrDefault();

                        bObj.Date    = ord.Create_Date;
                        bObj.Amount  = totalAmt;
                        bObj.OrgId   = LedgerDetails.OrgId;
                        bObj.OrderId = orderitemlist[0].OID;

                        BalanceStatement TotalBalance = BalanceStatement.GetAllForBalanceCalculation(OrgId).Last();
                        bObj.Balance = TotalBalance.Balance + totalAmt;

                        bObj.Narration = "Online Payment of Order No." + orderitemlist[0].OID;
                        bObj.isCash    = false;

                        bObj.SaveCRValue();

                        //===============================================================================

                        BalanceStatement Obj          = new BalanceStatement();
                        HG_Orders        od           = new HG_Orders().GetOne(bObj.OrderId);
                        Ledger           LedgerDetail = Ledger.GetAllList().Where(x => x.DebtorType == 1 &&
                                                                                  x.OrgId == OrgId).FirstOrDefault();

                        if (od.PaymentStatus == 3)
                        {
                            double amt = (bObj.Amount * LedgerDetails.MarginOnline) / 100;
                            Obj.CRAmount    = (amt) + ((amt * LedgerDetails.TaxOnAboveMarginOnline) / 100);
                            Obj.TaxOnOnline = LedgerDetails.TaxOnAboveMarginOnline;

                            if (ord.PaymentStatus == 3 && ord.Status == "4")
                            {
                                double RefundAmt           = bObj.Amount - totalAmt;
                                double GetRefundAmt        = (RefundAmt * 2) / 100;
                                double GetRefundAmtwithTax = GetRefundAmt + ((GetRefundAmt * LedgerDetails.TaxOnAboveMarginOnline) / 100);
                                Obj.CRAmount = Obj.CRAmount + GetRefundAmtwithTax;
                            }
                        }
                        Obj.Date = bObj.Date;

                        // Obj.Amount = Amount;
                        BalanceStatement TBalance = BalanceStatement.GetAllForBalanceCalculation(OrgId).Last();
                        Obj.Balance   = TBalance.Balance - Obj.CRAmount;
                        Obj.OrgId     = OrgId;
                        Obj.OrderId   = bObj.OrderId;
                        Obj.Narration = "Commission of Order No." + bObj.OrderId;
                        Obj.SaveCRValue();
                    }
                }
            }
            return(Json(new { data = bObj }, JsonRequestBehavior.AllowGet));
        }
Exemple #6
0
        //=========FEEDBACK API===========
        public JObject FeedBack(Int64 OID, int CID)
        {
            HG_Orders          hG_Orders = new HG_Orders().GetOne(OID);
            HG_Tables_or_Sheat Seating   = new HG_Tables_or_Sheat().GetOne(hG_Orders.Table_or_SheatId);
            JObject            respose   = new JObject();

            if (Seating.FDBKId > 0)// feedback applied in seating
            {
                FeedbkForm         feedbkForm   = FeedbkForm.GetOne(Seating.FDBKId);
                List <FeedBackQue> feedBackQues = FeedBackQue.GetAll(feedbkForm.Id);
                feedBackQues = feedBackQues.FindAll(x => x.Status);
                feedBackQues = feedBackQues.OrderBy(x => x.OrderNo).ToList();
                respose.Add("Status", 200);
                JArray jArray = new JArray();
                foreach (var question in feedBackQues)
                {
                    JObject jObject = new JObject();
                    jObject.Add("QID", question.ID);
                    jObject.Add("Title", question.Title);
                    jObject.Add("QuestionType", question.QuestionType);
                    jObject.Add("FeedBkFormID", question.FeedBkFormID);
                    if (question.Title.Contains("ITEM FEEDBACK") && (question.QuestionType == 0 || question.QuestionType == 3))
                    {
                        jObject["Title"] = "ITEM FEEDBACK";
                        List <HG_OrderItem> hG_OrderItems = new HG_OrderItem().GetAll(OID);
                        hG_OrderItems = hG_OrderItems.FindAll(x => x.Status == 3);
                        hG_OrderItems = hG_OrderItems.FindAll(x => x.OrdById == CID);
                        JArray itemfeedbks = new JArray();
                        for (int i = 0; i < hG_OrderItems.Count; i++)
                        {
                            HG_Items Objfood  = new HG_Items().GetOne(hG_OrderItems[i].FID);
                            JObject  ItemJobj = new JObject();
                            ItemJobj.Add("ItmId", hG_OrderItems[i].FID);//FID is ItemId
                            ItemJobj.Add("ItmName", Objfood.Items);
                            itemfeedbks.Add(ItemJobj);
                        }
                        jObject.Add("Items", itemfeedbks);
                    }
                    if (question.QuestionType == 1)
                    {
                        List <FeedbkObj> objectivesList = FeedbkObj.GetAll(question.ID);
                        FeedbkObj        firstt         = objectivesList.FirstOrDefault();
                        jObject.Add("ObjectiveType", firstt.ObjectiveType);
                        jObject.Add("Objectives", JArray.FromObject(objectivesList));
                    }
                    jArray.Add(jObject);
                }
                //=====add customer review comment in last at feedback
                JObject jObject2 = new JObject();
                jObject2.Add("QID", 0);
                jObject2.Add("Title", "");
                jObject2.Add("QuestionType", 5);
                jObject2.Add("FeedBkFormID", 0);
                jArray.Add(jObject2);
                respose.Add("Questions", jArray);
            }
            else
            {
                respose.Add("Status", 400);
            }
            return(respose);
        }