Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }