public static async Task <string> SaveKOTProdListAsync(KOTListTransfer KOTData) { try { String url = GenerateSaveKOTProdListURL(); var JsonObject = JsonConvert.SerializeObject(KOTData); string ContentType = "application/json"; // or application/xml using (HttpClient client = new HttpClient()) { var response = await client.PostAsync(url, new StringContent(JsonObject.ToString(), Encoding.UTF8, ContentType)); var json = await response.Content.ReadAsStringAsync(); //var stringRes = JsonConvert.DeserializeObject<string>(json); return(json); } } catch (Exception e) { return(e.Message); } }
//Command Execution for New and Save KOT Button public async void ExecuteKOTCommand(string val) { try { var res = await App.Current.MainPage.DisplayAlert("Confirm", "Are you sure?", "Yes", "No"); if (res) { //New KOT if (val == "1") { await App.Current.MainPage.Navigation.PopAsync(); } //Save KOT else if (val == "2") { if (OrderItemsList == null || OrderItemsList.Count == 0) { DependencyService.Get <IMessage>().ShortAlert("No Order Items"); return; } var items = OrderItemsList; if (items != null) { KOTListTransfer KOTData = new KOTListTransfer(); KOTData.TABLENO = Helpers.Data.SelectedTable.TableNo; KOTData.TRNUSER = Helpers.Constants.User.UserName; KOTData.PAX = Helpers.Data.PAX; KOTData.KOTProdList = OrderItemsList.ToList(); LoadingMessage = "Please Wait! Saving KOT Items"; IsLoading = true; var result = await TableDataAccess.SaveKOTProdListAsync(KOTData); if (result == "Success") { DependencyService.Get <IMessage>().ShortAlert("Order Saved Successfully"); App.Current.MainPage = new NavigationPage(new HomePage()); } else { DependencyService.Get <IMessage>().ShortAlert(result); } IsLoading = false; } } } }catch (Exception ex) { DependencyService.Get <IMessage>().ShortAlert(ex.Message); } }
public string postsaveOrders_New(KOTListTransfer KOTData) { try { string TABLENO, TRNUSER, PAX; List <KOTProd> ProdList = KOTData.KOTProdList; TABLENO = KOTData.TABLENO; TRNUSER = KOTData.TRNUSER; PAX = KOTData.PAX; byte vat = 0; double confactor = 0; double VATAMNT = 0.0, NETAMNT = 0.0, STAX = 0.0, TOTAMNT = 0.0; int KOTID; DateTime Now; //string printTofile = ""; if (ProdList == null) { return("Error: Null Items Send"); } else if (ProdList.Count == 0) { return("Error: No KOTProd Items"); } using (SqlConnection cnMain = new SqlConnection(ConnectionDbInfo.ConnectionString)) { cnMain.Open(); try { Now = cnMain.ExecuteScalar <DateTime>("SELECT GETDATE()"); // if (cnMain.ExecuteScalar<byte>("SELECT ISNULL(MIN(P.STATUS), 128) FROM RMD_KOTMAIN K LEFT JOIN RMD_KOTMAIN_PREBILL P ON K.KOTID = P.KOTID AND K.TABLENO = P.TABLENO WHERE K.TABLENO = '" + TABLENO + "'") < 2) if (cnMain.ExecuteScalar <byte>("SELECT ISNULL(MIN(P.STATUS), 128) FROM RMD_KOTMAIN K JOIN RMD_KOTMAIN_STATUS KMS ON K.KOTID=KMS.KOTID LEFT JOIN RMD_KOTMAIN_PREBILL P ON K.KOTID = P.KOTID AND K.TABLENO = P.TABLENO WHERE KMS.STATUS='ACTIVE' AND K.TABLENO = '" + TABLENO + "'") < 2) { return("Pre-Bill is pending for this table. Thus, you cannot add/remove order on this table."); } using (SqlTransaction trnOrder = cnMain.BeginTransaction()) { //printTofile = TABLENO + "," + DateTime.Today + Environment.NewLine; try { if (string.IsNullOrEmpty(cnMain.ExecuteScalar <string>("SELECT VNAME FROM RMD_SEQUENCES WHERE VNAME='KOTID'", transaction: trnOrder))) { cnMain.Execute("INSERT INTO RMD_SEQUENCES (VNAME,AUTO,Start,CurNo,Division) VALUES('KOTID',1,1,1,'" + ConnectionDbInfo.DIVISION + "')", transaction: trnOrder); } foreach (KOTProd kp in ProdList) { kp.TABLENO = TABLENO; var ItemInfo = cnMain.Query <dynamic>("SELECT RATE_A, VAT, DESCA, ISBARITEM FROM MENUITEM WHERE MCODE='" + kp.MCODE + "'", transaction: trnOrder).FirstOrDefault(); //kp.RATE = Convert.ToDouble(ItemInfo.RATE_A); vat = ItemInfo.VAT; kp.ISBOT = ItemInfo.ISBARITEM; var AltItemInfo = cnMain.Query <dynamic>("SELECT ALTUNIT, CONFACTOR, RATE FROM MULTIALTUNIT WHERE MCODE='" + kp.MCODE + "' AND ALTUNIT='" + kp.UNIT + "'", transaction: trnOrder); if (AltItemInfo.Count() > 0) { kp.ALTUNIT = AltItemInfo.First().ALTUNIT; confactor = Convert.ToDouble(AltItemInfo.First().CONFACTOR); kp.RATE = Convert.ToDouble(AltItemInfo.First().RATE); kp.RealQty = kp.Quantity * confactor; kp.REALRATE = kp.RATE / confactor; kp.AltQty = kp.Quantity; } else { kp.RealQty = kp.Quantity; kp.REALRATE = kp.RATE; } kp.AMOUNT = kp.RATE * kp.Quantity; kp.SERVICETAX = kp.AMOUNT * 0.1; if (vat == 1) { kp.VAT = (kp.AMOUNT + kp.SERVICETAX) * 0.13; } kp.NAMNT = kp.AMOUNT + kp.SERVICETAX + kp.VAT; TOTAMNT += kp.AMOUNT; STAX += kp.SERVICETAX; VATAMNT += kp.VAT; NETAMNT += kp.NAMNT; } //int SNO = cnMain.ExecuteScalar<int>("SELECT ISNULL(MAX(SNO), 0) FROM RMD_KOTPROD WHERE TABLENO='" + TABLENO + "'", transaction: trnOrder); int SNO = cnMain.ExecuteScalar <int>("SELECT ISNULL(MAX(SNO), 0) FROM RMD_KOTPROD KP JOIN RMD_KOTMAIN_STATUS KMS ON KP.KOTID=KMS.KOTID WHERE KMS.STATUS='ACTIVE' AND KP.TABLENO='" + TABLENO + "'", transaction: trnOrder); if (SNO == 0) { KOTID = cnMain.ExecuteScalar <int>("UPDATE RMD_SEQUENCES SET CurNo = CurNo + 1 output inserted.CurNo WHERE VNAME = 'KOTID'", transaction: trnOrder); cnMain.Execute(@"INSERT INTO RMD_KOTMAIN (TABLENO, TRNDATE, TRNUSER, DIVISION, TRNTIME, TERMINAL, WAITER, TOTAMNT, VATAMNT, NETAMNT, STAX, PAX, KOTID) SELECT '" + TABLENO + "','" + Now.ToString("MM/dd/yyyy") + "', '" + TRNUSER + "','" + ConnectionDbInfo.DIVISION + "','" + Now.ToString("h:mm:ss tt") + "','" + ConnectionDbInfo.TERMINAL + "','" + TRNUSER + "','" + TOTAMNT + "','" + VATAMNT + "','" + NETAMNT + "','" + STAX + "','" + PAX + "', '" + KOTID + "'", transaction: trnOrder); cnMain.Execute(QUERY_RMD_KOTMAIN_STATUS, new KOTMAINSTATUS { TABLENO = TABLENO, STATUS = "ACTIVE", KOTID = KOTID }, transaction: trnOrder); } else { // KOTID = cnMain.ExecuteScalar<int>("UPDATE RMD_KOTMAIN SET TRNDATE = '" + Now.ToString("MM/dd/yyyy") + "',TRNUSER='******',TOTAMNT='" + TOTAMNT + "',VATAMNT='" + VATAMNT + "',NETAMNT='" + NETAMNT + "',STAX='" + STAX + "' OUTPUT INSERTED.KOTID WHERE TABLENO='" + TABLENO + "'", transaction: trnOrder); var alreadyOrderedKot = cnMain.Query("SELECT KP.* FROM RMD_KOTPROD KP JOIN RMD_KOTMAIN_STATUS KMS ON KMS.KOTID=KP.KOTID WHERE KMS.STATUS='ACTIVE' AND KP.TABLENO='" + TABLENO + "'", transaction: trnOrder); KOTID = cnMain.ExecuteScalar <int>("UPDATE RMD_SEQUENCES SET CurNo = CurNo + 1 output inserted.CurNo WHERE VNAME = 'KOTID'", transaction: trnOrder); int updatedStatusId = cnMain.ExecuteScalar <int>("UPDATE RMD_KOTMAIN_STATUS SET STATUS='UPDATE',REMARKS='" + "ID-" + KOTID + "' output inserted.KOTID WHERE STATUS='ACTIVE' AND TABLENO='" + TABLENO + "'", transaction: trnOrder); cnMain.Execute(@"INSERT INTO RMD_KOTMAIN (TABLENO, TRNDATE, TRNUSER, DIVISION, TRNTIME, TERMINAL, WAITER, TOTAMNT, VATAMNT, NETAMNT, STAX, PAX, KOTID) SELECT '" + TABLENO + "','" + Now.ToString("MM/dd/yyyy") + "', '" + TRNUSER + "','" + ConnectionDbInfo.DIVISION + "','" + Now.ToString("h:mm:ss tt") + "','" + ConnectionDbInfo.TERMINAL + "','" + TRNUSER + "','" + TOTAMNT + "','" + VATAMNT + "','" + NETAMNT + "','" + STAX + "','" + PAX + "', '" + KOTID + "'", transaction: trnOrder); cnMain.Execute(@"INSERT INTO RMD_KOTPROD (TABLENO, MCODE, UNIT, QUANTITY, REALQTY, AMOUNT, ITEMDESC, KOTTIME, KITCHENDISPATCH, Remarks, DIVISION, TRNDATE, RATE, REALRATE, VAT, SERVICETAX, AltQty, DISCOUNT, WAREHOUSE, NAMNT, ISBOT, KOT, ALTUNIT, WAITERNAME, SNO, REFSNO, KOTID) VALUES (@TABLENO, @MCODE, @UNIT, @QUANTITY, @REALQTY, @AMOUNT, @ITEMDESC, @KOTTIME, @KITCHENDISPATCH, @Remarks, @DIVISION, @TRNDATE, @RATE, @REALRATE, @VAT, @SERVICETAX, @AltQty, @DISCOUNT,@WAREHOUSE , @NAMNT, @ISBOT,@KOT, @ALTUNIT, @WAITERNAME, @SNO,@REFSNO, " + KOTID + ")", alreadyOrderedKot, transaction: trnOrder); cnMain.Execute(QUERY_RMD_KOTMAIN_STATUS, new KOTMAINSTATUS { TABLENO = TABLENO, STATUS = "ACTIVE", KOTID = KOTID }, transaction: trnOrder); } foreach (var kp in ProdList) { //for new order entry if (kp.KOTTIME.Equals("not set")) { kp.SNO = ++SNO; kp.KOTTIME = Now.ToString("hh:mm:ss tt"); kp.DIVISION = ConnectionDbInfo.DIVISION; kp.TRNDATE = Now.Date; kp.WAITERNAME = TRNUSER; if (kp.Remarks == null) { kp.Remarks = ""; } cnMain.Execute(@"INSERT INTO RMD_KOTPROD (TABLENO, MCODE, UNIT, QUANTITY, REALQTY, AMOUNT, ITEMDESC, KOTTIME, KITCHENDISPATCH, Remarks, DIVISION, TRNDATE, RATE, REALRATE, VAT, SERVICETAX, AltQty, DISCOUNT, WAREHOUSE, NAMNT, ISBOT, KOT, ALTUNIT, WAITERNAME, SNO, REFSNO, KOTID) VALUES (@TABLENO, @MCODE, @UNIT, @QUANTITY, @REALQTY, @AMOUNT, @ITEMDESC, @KOTTIME, 0, @REMARKS, @DIVISION, @TRNDATE, @RATE, @REALRATE, @VAT, @SERVICETAX, @AltQty, 0, (SELECT NAME FROM RMD_WAREHOUSE WHERE ISDEFAULT='T'), @NAMNT, @ISBOT,(SELECT CurNo+1 FROM RMD_SEQUENCES WHERE VNAME='KOT'), @ALTUNIT, @WAITERNAME, @SNO, @REFSNO, " + KOTID + ")", kp, transaction: trnOrder); cnMain.Execute("INSERT INTO PRINTKOT (TABLENO, DESCA, MENUCODE, ISBOT, QUANTITY, REMARKS, SNO, UNIT, MCODE, TRNDATE, KOTTIME, USERNAME, KOT, PAX, KOTID) SELECT '" + TABLENO + "', DESCA, MENUCODE, ISBARITEM,'" + kp.Quantity + "','" + ((kp.Remarks.ToLower() == "no remarks") ? "" : kp.Remarks) + "','" + kp.SNO + "','" + kp.UNIT + "','" + kp.MCODE + "','" + Now.ToString("MM/dd/yyyy") + "', '" + Now.ToString("h:mm:ss tt") + "','" + TRNUSER + "',(SELECT CurNo FROM RMD_SEQUENCES WHERE VNAME='KOT'), " + (string.IsNullOrEmpty(PAX) ? "0" : PAX) + ", " + KOTID + " FROM MENUITEM WHERE MCODE='" + kp.MCODE + "'", transaction: trnOrder); } } cnMain.Execute("UPDATE RMD_SEQUENCES SET CURNO=CURNO + 1 WHERE VNAME ='KOT'", transaction: trnOrder); trnOrder.Commit(); return("Success"); } catch (Exception EX) { trnOrder.Rollback(); return(EX.Message); } } } catch (Exception e) { return(e.Message); } } } catch { return("Error in Data Conversion"); } }
public string postsaveOrders_New([FromBody] KOTListTransfer KOTData) { return(new TableDetailsMethods().postsaveOrders_New(KOTData)); }