public override bool UndoMethod(object obj) { TMain = new TrnMain { VoucherName = "Purchase Invoice", VoucherPrefix = "PI" }; if (ProdList != null) { ProdList.Clear(); } TMain.PropertyChanged += TMain_PropertyChanged; NewShipment = false; return(false); }
private void TMain_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "REFORDBILL") { TMain = new TrnMain { VoucherName = "Purchase Invoice", VoucherPrefix = "PI", REFORDBILL = TMain.REFORDBILL }; if (ProdList != null) { ProdList.Clear(); } TMain.PropertyChanged += TMain_PropertyChanged; _action = ButtonAction.Init; } }
public override bool UndoMethod(object obj) { TrnMainBaseModelObj = new TrnMain() { DIVISION = GlobalClass.DIVISION }; TrnMainBaseModelObj.VoucherPrefix = "ST"; TrnMainBaseModelObj.VoucherType = VoucherTypeEnum.StockSettlement; TrnMainBaseModelObj.ProdList = new ObservableCollection <TrnProd>(); TrnMainBaseModelObj.ProdList.CollectionChanged += ProdList_CollectionChanged; // if (_action != ButtonAction.Selected) { vn = 0; } TrnProdObj = null; TQuantity = 0; SelectedSettlementMode = null; SelectedProductMCODE = null; SelectedAltUnit = null; BARCODE = null; SelectedWarehouse = null; return(false); }
private void ExecuteSaveLocationTransferCommand(object obj) { try { if (LTItemList == null || LTItemList.Count <= 0) { MessageBox.Show("Please Load the Items For Transfer Verification"); return; } if (LTItemList.Sum(x => x.InQty) != LTItemList.Sum(y => y.OutQty)) { MessageBox.Show("In Quantity not match with Out Quantity.Please Check the data and try again.Thank you"); return; } TrnMain main = new TrnMain { DIVISION = GlobalClass.DIVISION, TRNDATE = DateTime.Today, BSDATE = GlobalClass.GetBSDate(DateTime.Today), TRNTIME = DateTime.Now.ToString("hh:mm tt"), TRNUSER = GlobalClass.CurrentUser.UNAME, REFORDBILL = LTCode, RETTO = DeviceId // TRNAC = "AT01002", // PARAC = TMain.PARAC, // TRNMODE = "Cash", // TOTAMNT = TMain.TOTAMNT, // TAXABLE = TMain.TAXABLE, // VATAMNT = TMain.VATAMNT, // NETAMNT = TMain.NETAMNT, // NONTAXABLE = TMain.NONTAXABLE, // DCAMNT = TMain.DCAMNT }; using (SqlConnection conn = new SqlConnection(GlobalClass.DataConnectionString)) { conn.Open(); using (SqlTransaction tran = conn.BeginTransaction()) { main.VCHRNO = conn.ExecuteScalar <string>( @"IF EXISTS (SELECT * FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV) SELECT 'LT' + CAST(CurNo AS VARCHAR) FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV ELSE INSERT INTO RMD_SEQUENCES(VNAME, AUTO, Start, CurNo, DIV, DIVISION, VoucherType, VoucherName) OUTPUT 'LT' + CAST(inserted.CurNo AS VARCHAR) VALUES (@VNAME, 1, 1, 1, @DIV, @DIV, 'LT', 'Location Transfer Voucher')" , new { VNAME = "LocTransfer", DIV = GlobalClass.DIVISION }, tran); conn.Execute( @"INSERT INTO RMD_TRNMAIN(VCHRNO, DIVISION, CHALANNO, TRNDATE, BSDATE, TRNTIME, TRNUSER, REFORDBILL, TRNAC, PARAC, TOTAMNT, TAXABLE, NONTAXABLE, DCAMNT, VATAMNT, NETAMNT, TRNMODE, CHEQUENO, REMARKS, EditUser, SHIFT, CHEQUEDATE,RETTO) VALUES(@VCHRNO, @DIVISION, @VCHRNO, @TRNDATE, @BSDATE, @TRNTIME, @TRNUSER, @REFORDBILL, @TRNAC, @PARAC, @TOTAMNT, @TAXABLE, @NONTAXABLE, @DCAMNT, @VATAMNT, @NETAMNT, @TRNMODE, '', '', '', '', @TRNDATE,@RETTO)", main, tran); var LTSaveList = new ObservableCollection <locationT>(); int sn = 0; string tempMcode = ""; foreach (var i in LTItemList.OrderBy(x => x.MCODE)) { if (tempMcode != i.MCODE) { sn++; } tempMcode = i.MCODE; i.VCHRNO = main.VCHRNO; i.PhiscalID = GlobalClass.PhiscalId; i.DIVISION = main.DIVISION; i.SNO = sn; LTSaveList.Add(i); } conn.Execute( @"INSERT INTO RMD_TRNPROD_DETAIL (VCHRNO, DIVISION, PhiscalID, MCODE, UNIT, Warehouse, LocationId, InQty, OutQty, SNO) values(@VCHRNO, @DIVISION, @PhiscalID, @MCODE, @Unit, @Warehouse, @LocationId, @InQty, @OutQty, @SNO)", LTSaveList, tran); conn.Execute("UPDATE RMD_SEQUENCES SET CURNO = CURNO + 1 WHERE VNAME = @VNAME AND DIV = @DIV", new { VNAME = "LocTransfer", DIV = GlobalClass.DIVISION }, tran); tran.Commit(); MessageBox.Show("Location Transfer Successfull........"); ExecuteCancelCommand(null); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void GeneratePI(object obj) { try { TrnMain main = new TrnMain { DIVISION = GlobalClass.DIVISION, TRNDATE = DateTime.Today, BSDATE = GlobalClass.GetBSDate(DateTime.Today), TRNTIME = DateTime.Now.ToString("hh:mm tt"), TRNUSER = GlobalClass.CurrentUser.UNAME, REFORDBILL = TMain.REFORDBILL, TRNMODE = "Cash", BILLTO = GlobalClass.DIVISION, BILLTOADD = Division.INITIAL }; using (SqlConnection conn = new SqlConnection(GlobalClass.DataConnectionString)) { conn.Open(); using (SqlTransaction tran = conn.BeginTransaction()) { main.VCHRNO = conn.ExecuteScalar <string>( @"IF EXISTS (SELECT * FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV) SELECT 'TO' + CAST(CurNo AS VARCHAR) FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV ELSE INSERT INTO RMD_SEQUENCES(VNAME, AUTO, Start, CurNo, DIV, DIVISION, VoucherType, VoucherName) OUTPUT 'TO' + CAST(inserted.CurNo AS VARCHAR) VALUES (@VNAME, 1, 1, 1, @DIV, @DIV, 'TO', 'Branch Transfer')" , new { VNAME = "BranchTransfer", DIV = GlobalClass.DIVISION }, tran); conn.Execute( @"INSERT INTO RMD_TRNMAIN(VCHRNO, DIVISION, CHALANNO, TRNDATE, BSDATE, TRNTIME, TRNUSER, REFORDBILL, BILLTO, BILLTOADD, TRNMODE) VALUES(@VCHRNO, @DIVISION, @VCHRNO, @TRNDATE, @BSDATE, @TRNTIME, @TRNUSER, @REFORDBILL, @BILLTO, @BILLTOADD, @TRNMODE)", main, tran); conn.Execute( @"INSERT INTO RMD_TRNPROD (VCHRNO, DIVISION, MCODE, UNIT, Quantity, RealQty, REALQTY_IN, WAREHOUSE, SNO, IDIS, GENERIC) SELECT @VCHRNO VCHRNO, @DIVISION DIVISION, MCODE, UNIT, SUM(Quantity) Quantity, SUM(Quantity) RealQty, 0 REALQTY_IN, L.Warehouse WAREHOUSE, ROW_NUMBER() OVER(ORDER BY MCODE, UNIT, Warehouse, PAckageNo DESC) AS SNO, 0 IDIS, PackageNo GENERIC FROM tblStockInVerificationLog SL JOIN TBL_LOCATIONS L ON SL.LocationId = L.LocationId WHERE LEFT(DeviceTrnId, 2) = 'PA' AND OrderNo = @REFORDBILL GROUP BY MCODE, UNIT, Warehouse, PackageNo", main, tran); conn.Execute( @"INSERT INTO RMD_TRNPROD_DETAIL (VCHRNO, DIVISION, PhiscalID, MCODE, UNIT, Warehouse, LocationId, InQty, OutQty, SNO) SELECT M.VCHRNO, M.DIVISION, M.PhiscalID, L.MCODE, L.Unit, P.WAREHOUSE, L.LocationId, 0, L.Quantity, 0 SNO FROM [tblStockInVerificationLog] L JOIN RMD_TRNMAIN M ON L.OrderNo = M.REFORDBILL JOIN ( SELECT MCODE, VCHRNO, DIVISION, PhiscalID, Unit, WAREHOUSE, SUM(RealQty) RealQty FROM RMD_TRNPROD GROUP BY MCODE, VCHRNO, DIVISION, PhiscalID, Unit, WAREHOUSE )P ON M.VCHRNO = P.VCHRNO AND M.DIVISION = P.DIVISION AND M.PhiscalID = P.PhiscalID AND L.MCODE = P.MCODE AND L.Unit = P.UNIT WHERE LEFT(DeviceTrnId, 2) = 'PA' AND L.OrderNo = @REFORDBILL", main, tran); conn.Execute("UPDATE tblPickingList SET [Status] = 1 WHERE ReqId = @REFORDBILL", main, tran); conn.Execute("UPDATE RMD_SEQUENCES SET CURNO = CURNO + 1 WHERE VNAME = @VNAME AND DIV = @DIV", new { VNAME = "BranchTransfer", DIV = GlobalClass.DIVISION }, tran); main.REFORDBILL = main.VCHRNO; main.DIVISION = main.BILLTO = main.BILLTOADD; main.BILLTOADD = GlobalClass.DIVISION; main.VCHRNO = conn.ExecuteScalar <string>( @"IF EXISTS (SELECT * FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV) SELECT 'TR' + CAST(CurNo AS VARCHAR) FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV ELSE INSERT INTO RMD_SEQUENCES(VNAME, AUTO, Start, CurNo, DIV, DIVISION, VoucherType, VoucherName) OUTPUT 'TR' + CAST(inserted.CurNo AS VARCHAR) VALUES (@VNAME, 1, 1, 1, @DIV, @DIV, 'TR', 'Branch Transfer In')" , new { VNAME = "BTransferIn", DIV = main.DIVISION }, tran); conn.Execute( @"INSERT INTO RMD_TRNMAIN(VCHRNO, DIVISION, CHALANNO, TRNDATE, BSDATE, TRNTIME, TRNUSER, REFORDBILL, BILLTO, BILLTOADD, TRNMODE) VALUES(@VCHRNO, @DIVISION, @VCHRNO, @TRNDATE, @BSDATE, @TRNTIME, @TRNUSER, @REFORDBILL, @BILLTO, @BILLTOADD, @TRNMODE)", main, tran); main.REFORDBILL = TMain.REFORDBILL; conn.Execute( @"INSERT INTO RMD_TRNPROD (VCHRNO, DIVISION, MCODE, UNIT, Quantity, RealQty, REALQTY_IN, WAREHOUSE, SNO, IDIS) SELECT @VCHRNO VCHRNO, @DIVISION DIVISION, MCODE, UNIT, SUM(Quantity) Quantity, 0 RealQty, SUM(Quantity) REALQTY_IN, (SELECT TOP 1 NAME FROM RMD_WAREHOUSE WHERE DIVISION = @DIVISION) WAREHOUSE, ROW_NUMBER() OVER(ORDER BY MCODE, UNIT DESC) AS SNO, 0 IDIS FROM tblStockInVerificationLog SL WHERE LEFT(DeviceTrnId, 2) = 'PA' AND OrderNo = @REFORDBILL GROUP BY MCODE, UNIT", main, tran); conn.Execute("UPDATE RMD_SEQUENCES SET CURNO = CURNO + 1 WHERE VNAME = @VNAME AND DIV = @DIV", new { VNAME = "BTransferIn", DIV = main.DIVISION }, tran); tran.Commit(); MessageBox.Show("Stock successfully Transfered"); ExecuteUndo(null); } } } catch (Exception Ex) { while (Ex.InnerException != null) { Ex = Ex.InnerException; } MessageBox.Show(Ex.Message, "Shipment Receive Variance", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void GeneratePI(object obj) { try { TrnMain main = new TrnMain { DIVISION = GlobalClass.DIVISION, TRNDATE = DateTime.Today, BSDATE = GlobalClass.GetBSDate(DateTime.Today), TRNTIME = DateTime.Now.ToString("hh:mm tt"), TRNUSER = GlobalClass.CurrentUser.UNAME, REFORDBILL = TMain.REFORDBILL, TRNAC = "AT01002", PARAC = TMain.PARAC, TRNMODE = "Cash", TOTAMNT = TMain.TOTAMNT, TAXABLE = TMain.TAXABLE, VATAMNT = TMain.VATAMNT, NETAMNT = TMain.NETAMNT, NONTAXABLE = TMain.NONTAXABLE, DCAMNT = TMain.DCAMNT }; using (SqlConnection conn = new SqlConnection(GlobalClass.DataConnectionString)) { conn.Open(); using (SqlTransaction tran = conn.BeginTransaction()) { main.VCHRNO = conn.ExecuteScalar <string>( @"IF EXISTS (SELECT * FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV) SELECT 'PI' + CAST(CurNo AS VARCHAR) FROM RMD_SEQUENCES WHERE VNAME = @VNAME AND DIV = @DIV ELSE INSERT INTO RMD_SEQUENCES(VNAME, AUTO, Start, CurNo, DIV, DIVISION, VoucherType, VoucherName) OUTPUT 'PI' + CAST(inserted.CurNo AS VARCHAR) VALUES (@VNAME, 1, 1, 1, @DIV, @DIV, 'PI', 'Goods Received Voucher')" , new { VNAME = "Purchase", DIV = GlobalClass.DIVISION }, tran); conn.Execute( @"INSERT INTO RMD_TRNMAIN(VCHRNO, DIVISION, CHALANNO, TRNDATE, BSDATE, TRNTIME, TRNUSER, REFORDBILL, TRNAC, PARAC, TOTAMNT, TAXABLE, NONTAXABLE, DCAMNT, VATAMNT, NETAMNT, TRNMODE, CHEQUENO, REMARKS, EditUser, SHIFT, CHEQUEDATE) VALUES(@VCHRNO, @DIVISION, @VCHRNO, @TRNDATE, @BSDATE, @TRNTIME, @TRNUSER, @REFORDBILL, @TRNAC, @PARAC, @TOTAMNT, @TAXABLE, @NONTAXABLE, @DCAMNT, @VATAMNT, @NETAMNT, @TRNMODE, '', '', '', '', @TRNDATE)", main, tran); foreach (TrnProd tpod in _AllProdList) { tpod.AltQty = 0; tpod.ALTQTY_IN = 0; } conn.Execute( @"INSERT INTO RMD_TRNPROD (VCHRNO, DIVISION, MCODE, UNIT, Quantity, RealQty, RATE, AMOUNT, DISCOUNT, VAT, REALRATE, REALQTY_IN, WAREHOUSE, TAXABLE, NONTAXABLE, SNO, IDIS) VALUES ('" + main.VCHRNO + "', '" + GlobalClass.DIVISION + "', @MCODE, @UNIT, @Quantity, @RealQty, @RATE, @AMOUNT, @DISCOUNT, @VAT, @REALRATE, @REALQTY_IN, @WAREHOUSE, @TAXABLE, @NONTAXABLE, @SNO, 0)", _AllProdList.Where(x => x.REALQTY_IN > 0), tran); conn.Execute( @"INSERT INTO RMD_TRNPROD_DETAIL (VCHRNO, DIVISION, PhiscalID, MCODE, UNIT, Warehouse, LocationId, InQty, OutQty, SNO) SELECT M.VCHRNO, M.DIVISION, M.PhiscalID, L.MCODE, L.Unit, P.WAREHOUSE, L.LocationId,L.RealQty_In , 0, P.SNO FROM [tblStockInVerificationLog] L JOIN RMD_TRNMAIN M ON L.OrderNo = M.REFORDBILL JOIN RMD_TRNPROD P ON M.VCHRNO = P.VCHRNO AND M.DIVISION = P.DIVISION AND M.PhiscalID = P.PhiscalID AND L.MCODE = P.MCODE AND L.Unit = P.UNIT WHERE L.OrderNo = @REFORDBILL", main, tran); conn.Execute("UPDATE tblStockInVerificationLog SET [Status] = 1 WHERE OrderNo = @OrderNo AND SyncDate <= @SyncDate", new { OrderNo = main.REFORDBILL, SyncDate = _AllProdList.Max(x => x.MFGDATE) }, tran); conn.Execute("UPDATE RMD_SEQUENCES SET CURNO = CURNO + 1 WHERE VNAME = @VNAME AND DIV = @DIV", new { VNAME = "Purchase", DIV = GlobalClass.DIVISION }, tran); tran.Commit(); MessageBox.Show("Voucher successfully generated"); ExecuteUndo(null); } } } catch (Exception Ex) { while (Ex.InnerException != null) { Ex = Ex.InnerException; } MessageBox.Show(Ex.Message, "Shipment Receive Variance", MessageBoxButton.OK, MessageBoxImage.Error); } }