Exemple #1
0
        public ActionResult Test()
        {
            HG_Orders.OrderAmt(42, 0);
            WalletAmt walletAmt = WalletAmt.GetUnusedWalletAmt(42, 6);

            return(Content("0"));
        }
        public ActionResult DiscntCharges(Int64 SeatingId, int Type = 0, int ID = 0, Int64 OID = 0)
        {
            OrdDiscntChrge ordDiscntChrge = new OrdDiscntChrge();

            if (SeatingId > 0)
            {
                HG_Tables_or_Sheat SeatingObj = new HG_Tables_or_Sheat().GetOne(SeatingId);
                List <HG_Orders>   orders     = new HG_Orders().GetListByGetDate(DateTime.Now, DateTime.Now);
                var ObjOrder = orders.Find(x => x.Table_or_SheatId == SeatingId && x.TableOtp == SeatingObj.Otp);
                if (ObjOrder != null && ObjOrder.Status != "3" && ObjOrder.Status != "4")
                {
                    ordDiscntChrge.OID = ObjOrder.OID;
                }
                ordDiscntChrge.Type       = Type;
                ordDiscntChrge.SeatingId  = SeatingId;
                ordDiscntChrge.SeatingOtp = SeatingObj.Otp;
            }
            else if (ID > 0)
            {
                ordDiscntChrge = OrdDiscntChrge.GetOne(ID);
                Type           = ordDiscntChrge.Type;
            }
            else if (OID > 0 && Type != 0)
            {
                ordDiscntChrge.Type = Type;
                ordDiscntChrge.OID  = OID;
            }


            return(View(ordDiscntChrge));
        }
Exemple #3
0
        public static Feedbk SubmitFeedBk(Int64 OID)
        {
            Feedbk feedBack = Feedbk.GetOne(OID);

            //    public int FeedBkId { get; set; }
            //public int OrgId { get; set; }
            //public Int64 OrderId { get; set; }
            //public int FeedbkFormId { get; set; }
            if (feedBack.FeedBkId == 0)
            {
                HG_Orders          hG_Orders          = new HG_Orders().GetOne(OID);
                HG_Tables_or_Sheat hG_Tables_Or_Sheat = new HG_Tables_or_Sheat().GetOne(hG_Orders.Table_or_SheatId);

                feedBack = new Feedbk();
                feedBack.FeedbkFormId = hG_Tables_Or_Sheat.FDBKId;
                feedBack.OrgId        = hG_Orders.OrgId;
                feedBack.OrderId      = OID;
                feedBack.save();
                return(feedBack);
            }
            else
            {
                return(feedBack);
            }
        }
 public ActionResult SaveDiscntCharge(OrdDiscntChrge discntCharge)
 {
     if (discntCharge.Remark == null)
     {
         discntCharge.Remark = "";
     }
     if (discntCharge.Title == null || discntCharge.Title.Replace(" ", "") == "")
     {
         return(Json(new { msg = "Title required" }, JsonRequestBehavior.AllowGet));
     }
     if (discntCharge.Amt > 0 && discntCharge.Tax > 0)
     {
         return(Json(new { msg = "fill  Single Option" }, JsonRequestBehavior.AllowGet));
     }
     if (discntCharge.Amt <= 0 && discntCharge.Tax <= 0)
     {
         return(Json(new { msg = "value cannot be zero" }, JsonRequestBehavior.AllowGet));
     }
     if (discntCharge.ID > 0)// modify discnt charges
     {
         discntCharge.Save();
     }
     else if (discntCharge.OID > 0 && discntCharge.SeatingId == 0)//edit Order
     {
         discntCharge.Save();
         HG_Orders hG_Orders = new HG_Orders().GetOne(discntCharge.OID);
         if (hG_Orders.OID > 0)
         {
             if (hG_Orders.DisntChargeIDs != "" && hG_Orders.DisntChargeIDs != "0")
             {
                 hG_Orders.DisntChargeIDs = hG_Orders.DisntChargeIDs + "," + discntCharge.ID;
             }
             else
             {
                 hG_Orders.DisntChargeIDs = discntCharge.ID.ToString();
             }
             hG_Orders.Save();
         }
     }
     else if (discntCharge.OID > 0 && discntCharge.SeatingId > 0)
     {
         DiscntCharge.ListDiscntChrge.Add(discntCharge);
         OrdDiscntChrge.RemoveDiscntCharge(discntCharge.SeatingId, discntCharge.SeatingOtp, discntCharge.OID);
     }
     else
     {
         DiscntCharge.ListDiscntChrge.Add(discntCharge);
     }
     return(Json(new { data = discntCharge }, 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));
        }
Exemple #6
0
        public JObject ApplyWallet(string Jobj)
        {
            JObject obj    = JObject.Parse(Jobj);
            Wallet  wallet = new Wallet();

            wallet.WalletId    = 0;
            wallet.CID         = int.Parse(obj["CID"].ToString());
            wallet.OID         = int.Parse(obj["OID"].ToString());
            wallet.CashBkId    = 0;
            wallet.CashBkAmt   = 0;
            wallet.DeductedAmt = double.Parse(obj["DeductedAmt"].ToString());;
            wallet.AmtActiveOn = DateTime.Now;
            wallet.OrgId       = int.Parse(obj["OrgId"].ToString());
            wallet.Save();
            JObject result = new JObject();


            if (wallet.WalletId > 0)
            {
                OrdDiscntChrge ordDiscntChrge = new OrdDiscntChrge();
                ordDiscntChrge.ID     = 0;
                ordDiscntChrge.Title  = "CashBack";
                ordDiscntChrge.OID    = wallet.OID;
                ordDiscntChrge.Type   = 1;
                ordDiscntChrge.Amt    = wallet.DeductedAmt;
                ordDiscntChrge.Tax    = 0;
                ordDiscntChrge.Remark = "CashBack Amount";
                ordDiscntChrge.Save();
                HG_Orders hG_Orders = new HG_Orders().GetOne(wallet.OID);
                if (hG_Orders.OID > 0)
                {
                    if (hG_Orders.DisntChargeIDs != "" && hG_Orders.DisntChargeIDs != "0")
                    {
                        hG_Orders.DisntChargeIDs = hG_Orders.DisntChargeIDs + "," + ordDiscntChrge.ID;
                    }
                    else
                    {
                        hG_Orders.DisntChargeIDs = ordDiscntChrge.ID.ToString();
                    }
                    hG_Orders.Save();
                }
                result.Add("Status", 200);
            }
            else
            {
                result.Add("Status", 400);
            }
            return(result);
        }
Exemple #7
0
        public ActionResult Delete(int ID)
        {
            HG_Tables_or_Sheat ObjTable = new HG_Tables_or_Sheat().GetOne(ID);

            if (ObjTable != null)
            {
                List <HG_Orders> listord = new HG_Orders().GetAll(ObjTable.OrgId);
                listord = listord.FindAll(x => x.Table_or_SheatId == ObjTable.Table_or_RowID);
                if (listord.Count > 0)
                {
                    // Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Json(new { msg = "Already Used in " + listord.Count.ToString() + " Orders" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    HG_Tables_or_Sheat.Dell(ObjTable.Table_or_RowID);
                }
            }
            return(Json(new { data = "1" }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetDetails(List <HG_OrderItem> CompletedItems)
        {
            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>();
            int    LastEntryNo = 0;
            double LastBalance = 0.00;

            List <PaytmResn> Onlinepayment = new List <PaytmResn>();

            double totalAmount = 0.00;

            HG_Orders ord = new HG_Orders().GetOne(CompletedItems[0].OID);


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

                    totalAmount += Ord.DeliveryCharge;
                    totalAmount += CompletedItems[i].Count * CompletedItems[i].Price;
                }
                Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.DebtorType == 1 &&
                                                                 x.OrgId == CompletedItems[0].OrgId).FirstOrDefault();

                bObj.Date    = DateTime.Now;
                bObj.Amount  = totalAmount;
                bObj.OrgId   = LedgerDetails.OrgId;
                bObj.OrderId = CompletedItems[0].OID;
                BalanceStatement TotalBalance = BalanceStatement.GetAllForBalanceCalculation(CompletedItems[0].OrgId).Last();
                bObj.Balance = TotalBalance.Balance + totalAmount;

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



                if (od.PaymentStatus == 1 || od.PaymentStatus == 2)
                {
                    double amt = (bObj.Amount * LedgerDetails.MarginOnCash) / 100;
                    Obj.CRAmount  = (amt) + ((amt * LedgerDetails.TaxOnAboveMargin) / 100);
                    Obj.TaxOnCash = LedgerDetails.TaxOnAboveMargin;
                }
                else if (od.PaymentStatus == 3)
                {
                    double amt = (bObj.Amount * LedgerDetails.MarginOnline) / 100;
                    Obj.CRAmount    = (amt) + ((amt * LedgerDetails.TaxOnAboveMarginOnline) / 100);
                    Obj.TaxOnOnline = LedgerDetails.TaxOnAboveMarginOnline;
                }
                Obj.Date = bObj.Date;

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

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


                Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.DebtorType == 1 &&
                                                                 x.OrgId == CompletedItems[0].OrgId).FirstOrDefault();

                bObj.Date    = DateTime.Now;
                bObj.Amount  = totalAmount;
                bObj.OrgId   = LedgerDetails.OrgId;
                bObj.OrderId = CompletedItems[0].OID;
                BalanceStatement TotalBalance = BalanceStatement.GetAllForBalanceCalculation(CompletedItems[0].OrgId).Last();
                bObj.Balance = TotalBalance.Balance + totalAmount;

                bObj.Narration = "Online Payment of Order No." + CompletedItems[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 == bObj.OrgId).FirstOrDefault();



                if (od.PaymentStatus == 1 || od.PaymentStatus == 2)
                {
                    double amt = (bObj.Amount * LedgerDetails.MarginOnCash) / 100;
                    Obj.CRAmount  = (amt) + ((amt * LedgerDetails.TaxOnAboveMargin) / 100);
                    Obj.TaxOnCash = LedgerDetails.TaxOnAboveMargin;
                }
                else 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 - OAmount;
                        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(bObj.OrgId).Last();
                Obj.Balance   = TBalance.Balance - Obj.CRAmount;
                Obj.OrgId     = bObj.OrgId;
                Obj.OrderId   = bObj.OrderId;
                Obj.Narration = "Commission of Order No." + bObj.OrderId;
                Obj.SaveCRValue();



                //===================================================================================================================
                Receipt ReceiptEntry = new Receipt();

                ReceiptEntry.BalanceStatementId = bObj.BID;
                ReceiptEntry.Date       = bObj.Date;
                ReceiptEntry.Amount     = bObj.Amount;
                ReceiptEntry.Particular = "Online Payment of Order No." + CompletedItems[0].OID;
                try
                {
                    LastEntryNo = Receipt.GetAllList(0, 0).Select(s => s.EntryNo).Last();
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }
                if (LastEntryNo > 0)
                {
                    ReceiptEntry.EntryNo = LastEntryNo + 1;
                }
                else
                {
                    ReceiptEntry.EntryNo = 1;
                }

                ReceiptEntry.OrgId = bObj.OrgId;
                string Customer           = "Customer";
                string Paytm              = "Paytm";
                string Bank               = "BANK";
                string CurrentLiabilities = "Current Liabilities";

                Ledger CutomerLedger = Ledger.GetAllList().Where(x => x.Name.ToLower() == Customer.ToLower()).FirstOrDefault();


                Ledger Paytmledger = Ledger.GetAllList().Where(x => x.Name.ToLower() == Paytm.ToLower()).FirstOrDefault();

                ReceiptEntry.CRLedgerId = CutomerLedger.ID;
                ReceiptEntry.DRLedgerId = Paytmledger.ID;

                Group BankGroup = Group.GetAll().Where(x => x.Name.ToLower() == Bank.ToLower()).FirstOrDefault();


                Group CurrentLiabilitiesGroup = Group.GetAll().Where(x => x.Name.ToLower() == CurrentLiabilities.ToLower()).FirstOrDefault();

                ReceiptEntry.CRGroupId = CurrentLiabilitiesGroup.ID;
                ReceiptEntry.DRGroupId = BankGroup.ID;
                try
                {
                    LastBalance = Receipt.GetAllList(0, 0).Select(s => s.Balance).Last();
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }
                if (LastBalance > 0)
                {
                    ReceiptEntry.Balance = LastBalance + ReceiptEntry.Amount;
                }
                else
                {
                    ReceiptEntry.Balance = ReceiptEntry.Amount;
                }

                ReceiptEntry.Save();
            }
            return(Json(new { data = bObj }, 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 #10
0
        public ActionResult GenerateAllPaymentReceipt()
        {
            List <long> OrderIds = PaytmResn.GetAll().Select(s => s.OID).Distinct().ToList();

            List <PaytmResn> Onlinepayment = PaytmResn.GetAll().Where(w => OrderIds.Contains(w.OID)).Distinct().ToList();
            int     LastEntryNo            = 0;
            double  LastBalance            = 0.00;
            int     ENo          = 0;
            Receipt ReceiptEntry = new Receipt();

            ReceiptEntry.Date        = Onlinepayment[0].TxtDate.AddHours(-24);
            ReceiptEntry.ReceiptType = "Rece";
            ReceiptEntry.Amount      = 0.00;
            ReceiptEntry.Particular  = "Opening Balance";
            ReceiptEntry.Save();

            foreach (var OP in Onlinepayment)
            {
                ReceiptEntry = new Receipt();

                ReceiptEntry.Date        = OP.TxtDate;
                ReceiptEntry.ReceiptType = "Rece";
                ReceiptEntry.Amount      = Convert.ToDouble(OP.PaidAmount);
                ReceiptEntry.Particular  = "Online Payment of Order No." + OP.OID;
                ENo = ENo + 1;
                ReceiptEntry.EntryNo = ENo;
                HG_Orders ord = new HG_Orders().GetOne(OP.OID);
                ReceiptEntry.OrgId = ord.OrgId;
                string Customer           = "Customer";
                string Paytm              = "Paytm";
                string Bank               = "BANK";
                string CurrentLiabilities = "Current Liabilities";

                Ledger CutomerLedger = Ledger.GetAllList().Where(x => x.Name.ToLower() == Customer.ToLower()).FirstOrDefault();


                Ledger Paytmledger = Ledger.GetAllList().Where(x => x.Name.ToLower() == Paytm.ToLower()).FirstOrDefault();

                ReceiptEntry.CRLedgerId = CutomerLedger.ID;
                ReceiptEntry.DRLedgerId = Paytmledger.ID;

                Group BankGroup = Group.GetAll().Where(x => x.Name.ToLower() == Bank.ToLower()).FirstOrDefault();


                Group CurrentLiabilitiesGroup = Group.GetAll().Where(x => x.Name.ToLower() == CurrentLiabilities.ToLower()).FirstOrDefault();

                ReceiptEntry.CRGroupId = CurrentLiabilitiesGroup.ID;
                ReceiptEntry.DRGroupId = BankGroup.ID;
                try
                {
                    LastBalance = Receipt.GetAllList(0, 0).Select(s => s.Balance).Last();
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }
                if (LastBalance > 0)
                {
                    ReceiptEntry.Balance = LastBalance + ReceiptEntry.Amount;
                }
                else
                {
                    ReceiptEntry.Balance = ReceiptEntry.Amount;
                }
                ReceiptEntry.Save();
            }

            return(Json(new { data = ReceiptEntry }, JsonRequestBehavior.AllowGet));
        }
Exemple #11
0
        public static void AddToWallet(HG_Orders ObjOrder, int AppType = 0)
        {
            if (ObjOrder.Status != "3")
            {
                return;
            }
            if (AppType == 1)
            {
            }
            else if (ObjOrder.Status == "3")
            {
                vw_HG_UsersDetails ObjUser = new vw_HG_UsersDetails().GetSingleByUserId((int)ObjOrder.CID);
                if (ObjUser.UserType != "CUST")
                {
                    return;
                }
            }
            Cashback cashbk = Cashback.GetAppliedCashBk(ObjOrder.OrgId, ObjOrder.Table_or_SheatId, 1);

            if (cashbk != null)
            {
                double cashBkAmt = 0.00;

                if (cashbk.Percentage > 0 && cashbk.RaiseDynamic)
                {
                    double OrdAmt       = HG_Orders.OrderAmt(ObjOrder.OID, ObjOrder.DeliveryCharge);
                    var    AggStudy     = GetOrder.GetTotalAmt(ObjOrder.OrgId);
                    double DynamicValue = AggStudy + (AggStudy - cashbk.BilAmt) * (cashbk.Percentage * 2 / 100);
                    if (DynamicValue > cashbk.BilAmt && OrdAmt > DynamicValue)
                    {
                        cashBkAmt = OrdAmt * cashbk.Percentage / 100;
                    }
                    else if (OrdAmt > cashbk.BilAmt)
                    {
                        cashBkAmt = OrdAmt * cashbk.Percentage / 100;
                    }
                }
                else if (cashbk.Percentage > 0 && cashbk.RaiseDynamic == false)
                {
                    double OrdAmt = HG_Orders.OrderAmt(ObjOrder.OID, ObjOrder.DeliveryCharge);
                    // cashBkAmt = OrdAmt * cashbk.Percentage / 100;
                    if (OrdAmt > cashbk.BilAmt && cashbk.MaxCBLimit == 0)//unlimited;
                    {
                        cashBkAmt = OrdAmt * cashbk.Percentage / 100;
                    }
                    else if (OrdAmt > cashbk.BilAmt && cashbk.MaxCBLimit == 1)// limited
                    {
                        cashBkAmt = OrdAmt * cashbk.Percentage / 100;
                        if (cashBkAmt > cashbk.MaxAmt)
                        {
                            cashBkAmt = cashbk.MaxAmt;
                        }
                    }
                }


                if (cashBkAmt > 0)
                {
                    Wallet wallet = new Wallet();
                    wallet.AmtActiveOn = DateTime.Now.AddDays(1);
                    wallet.CID         = (int)ObjOrder.CID;
                    wallet.OID         = ObjOrder.OID;
                    wallet.OrgId       = ObjOrder.OrgId;
                    wallet.DeductedAmt = 0;
                    wallet.CashBkAmt   = cashBkAmt;
                    wallet.CashBkId    = cashbk.CashBkId;
                    wallet.Save();
                    string[] topics = { ObjOrder.CID.ToString() };
                    string   Title  = "foodDo";
                    string   Msg    = "You Got " + cashBkAmt.ToString("0.00") + " Rs/- Cashback ";
                    PushNotification.SendNotification(topics, Msg, Title, OID: ObjOrder.OID, UserRating: 400);//user-Rating 400 for cashbk notification
                }
            }
        }
Exemple #12
0
        public ActionResult GetDetails(List <HG_OrderItem> CompletedItems)
        {
            JournalEntry                  jObj          = new JournalEntry();
            List <JournalEntry>           jObjList      = new List <JournalEntry>();
            List <HG_Orders>              OrdersDetails = new List <HG_Orders>();
            List <HG_OrganizationDetails> OrgList       = new List <HG_OrganizationDetails>();
            double totalAmount = 0.00;

            for (int i = 0; i < CompletedItems.Count; i++)
            {
                jObj         = new JournalEntry();
                totalAmount += CompletedItems[i].Count * CompletedItems[i].Price;
                if (CompletedItems[i].TaxInItm == 5)
                {
                    Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.ParentGroup == 5 && x.Name == "GST Local Sale 5%").FirstOrDefault();
                    jObj.CRLedgerId = LedgerDetails.ID;
                    jObj.JEDAmount  = CompletedItems[i].CostPrice;

                    //HG_OrganizationDetails org = OrgList.FindAll(x => x.OrgID == CompletedItems[i].OrgId).FirstOrDefault();

                    //if(org.State=="17")
                    //{

                    //}
                }
                if (CompletedItems[i].TaxInItm == 12)
                {
                    Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.ParentGroup == 5 && x.Name == "GST Local Sale 12%").FirstOrDefault();
                    jObj.CRLedgerId = LedgerDetails.ID;
                    jObj.JEDAmount  = CompletedItems[i].CostPrice;
                }
                if (CompletedItems[i].TaxInItm == 18)
                {
                    Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.ParentGroup == 5 && x.Name == "GST Local Sale 18%").FirstOrDefault();
                    jObj.CRLedgerId = LedgerDetails.ID;
                    jObj.JEDAmount  = CompletedItems[i].CostPrice;
                }
                if (CompletedItems[i].TaxInItm == 28)
                {
                    Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.ParentGroup == 5 && x.Name == "GST Local Sale 28%").FirstOrDefault();
                    jObj.CRLedgerId = LedgerDetails.ID;
                    jObj.JEDAmount  = CompletedItems[i].CostPrice;
                }

                jObjList.Add(jObj);
            }
            jObj.Date    = DateTime.Now;
            jObj.Amount  = totalAmount;
            jObj.GroupId = 5;
            HG_Orders ord = new HG_Orders().GetOne(CompletedItems[0].OID);

            if (ord.Status == "1")
            {
                jObj.Narration = "Payment of Order No." + CompletedItems[0].OID;
            }
            else
            {
                jObj.Narration = "Online Payment of Order No." + CompletedItems[0].OID;
            }


            jObj.Save(jObjList);

            return(Json(new { data = jObj }, JsonRequestBehavior.AllowGet));
        }
Exemple #13
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);
        }