private void SynchronizeFromBranch() { try { lblError.Text = string.Empty; Branch clsBranch = new Branch(); BranchDetails clsBranchDetails = clsBranch.Details(Convert.ToInt16(cboSynchronizeFromBranch.SelectedItem.Value.ToString())); clsBranch.CommitAndDispose(); if (IPAddress.IsOpen(clsBranchDetails.DBIP, int.Parse(clsBranchDetails.DBPort)) == false) { lblError.Text = "Sorry cannot connect to Branch '" + cboSynchronizeFromBranch.SelectedItem.Text + "'. Please check you connection to IP Address :" + clsBranchDetails.DBIP + ". <br /><br />"; lblError.Text += "HOW TO CHECK : <br /><br />"; lblError.Text += " 1. Open command prompt<br />"; lblError.Text += " 2. Type ping[space][IP Address]<br /><br />"; lblError.Text += "If the answer is 'Request timed out.' then contact system administrator.<br />"; lblError.Text += "Else if the answer is 'Reply...' Follow the next steps.<br /><br />"; lblError.Text += " 3. Type telnet[space][IP Address][sapce][IP Port]<br /><br />"; return; } Session.Timeout = 60 * 60 * 30; Products clsProduct = new Products(); clsProduct.GetConnection(); ProductDetails clsProductDetails; ContactGroups clsContactGroup = new ContactGroups(clsProduct.Connection, clsProduct.Transaction); Contacts clsContact = new Contacts(clsProduct.Connection, clsProduct.Transaction); Data.Unit clsUnit = new Data.Unit(clsProduct.Connection, clsProduct.Transaction); Data.ProductGroup clsProductGroup = new Data.ProductGroup(clsProduct.Connection, clsProduct.Transaction); Data.ProductSubGroup clsProductSubGroup = new Data.ProductSubGroup(clsProduct.Connection, clsProduct.Transaction); Data.Variation clsVariation = new Variation(clsProduct.Connection, clsProduct.Transaction); RemoteBranchInventory clsBranchInventory = new RemoteBranchInventory(); clsBranchInventory.GetConnectionToBranch(clsBranchDetails.DBIP, clsBranchDetails.DBPort); Products clsBranchProduct = new Products(clsBranchInventory.Connection, clsBranchInventory.Transaction); ProductDetails[] arrBranchProductDetails = clsBranchProduct.List(); ContactGroups clsBranchContactGroup = new ContactGroups(clsBranchInventory.Connection, clsBranchInventory.Transaction); Contacts clsBranchContact = new Contacts(clsBranchInventory.Connection, clsBranchInventory.Transaction); Data.Unit clsBranchUnit = new Data.Unit(clsBranchInventory.Connection, clsBranchInventory.Transaction); Data.ProductGroup clsBranchProductGroup = new Data.ProductGroup(clsBranchInventory.Connection, clsBranchInventory.Transaction); Data.ProductSubGroup clsBranchProductSubGroup = new Data.ProductSubGroup(clsBranchInventory.Connection, clsBranchInventory.Transaction); Data.Variation clsBranchVariation = new Variation(clsBranchInventory.Connection, clsBranchInventory.Transaction); foreach (ProductDetails clsBranchProductDetails in arrBranchProductDetails) { clsProductDetails = clsBranchProductDetails; try { clsProductDetails.ProductID = clsProduct.Details(clsProductDetails.BarCode).ProductID; if (clsProductDetails.ProductID != 0) { lblError.Text += clsProductDetails.BarCode + " already exist.<br /><br />"; clsProduct.UpdatePurchasing(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.PurchasePrice); clsProduct.UpdateSellingPrice(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.Price, clsProductDetails.Price1, clsProductDetails.Price2, clsProductDetails.Price3, clsProductDetails.Price4, clsProductDetails.Price5); } else { clsProductDetails.ProductID = clsProduct.DetailsByCode(Constants.BRANCH_ID_MAIN, clsProductDetails.BarCode).ProductID; if (clsProductDetails.ProductID != 0) { lblError.Text += clsProductDetails.ProductCode + " already exist.<br /><br />"; clsProduct.UpdateBarcode(clsProductDetails.ProductID, clsProductDetails.BarCode); clsProduct.UpdatePurchasing(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.PurchasePrice); clsProduct.UpdateSellingPrice(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.Price, clsProductDetails.Price1, clsProductDetails.Price2, clsProductDetails.Price3, clsProductDetails.Price4, clsProductDetails.Price5); } else { clsProductDetails.SupplierID = clsContact.Details(clsProductDetails.SupplierCode).ContactID; if (clsProductDetails.SupplierID == 0) { ContactDetails clsBranchContactDetails = clsBranchContact.Details(clsProductDetails.SupplierCode); if (clsContactGroup.Details(clsBranchContactDetails.ContactGroupID).ContactGroupID == 0) { ContactGroupDetails clsBranchContactGroupDetails = clsBranchContactGroup.Details(clsBranchContactDetails.ContactGroupID); clsBranchContactDetails.ContactGroupID = clsContactGroup.Insert(clsBranchContactGroupDetails); } clsProductDetails.SupplierID = clsContact.Insert(clsBranchContactDetails); } clsProductDetails.BaseUnitID = clsUnit.Details(clsProductDetails.BaseUnitCode).UnitID; if (clsProductDetails.BaseUnitID == 0) { UnitDetails clsBranchUnitDetails = clsBranchUnit.Details(clsBranchProductDetails.BaseUnitID); clsProductDetails.BaseUnitID = clsUnit.Insert(clsBranchUnitDetails); } clsProductDetails.ProductGroupID = clsProductGroup.Details(clsProductDetails.ProductGroupCode).ProductGroupID; if (clsProductDetails.ProductGroupID == 0) { ProductGroupDetails clsBranchProductGroupDetails = clsBranchProductGroup.Details(clsBranchProductDetails.ProductGroupID); clsProductDetails.ProductGroupID = clsProductGroup.Insert(clsBranchProductGroupDetails); } clsProductDetails.ProductSubGroupID = clsProductSubGroup.Details(clsProductDetails.ProductSubGroupCode).ProductSubGroupID; if (clsProductDetails.ProductSubGroupID == 0) { ProductSubGroupDetails clsBranchProductSubGroupDetails = clsBranchProductSubGroup.Details(clsBranchProductDetails.ProductSubGroupID); clsProductDetails.ProductSubGroupID = clsProductSubGroup.Insert(clsBranchProductSubGroupDetails); } clsProductDetails.Quantity = 0; clsProductDetails.QuantityIN = 0; clsProductDetails.QuantityOUT = 0; try { clsProductDetails.ProductID = clsProduct.Insert(clsProductDetails); lblError.Text += clsProductDetails.ProductCode + " inserted.<br /><br />"; } catch (Exception exProduct){ lblError.Text += "<div class=ms-alternating> ERROR INSERTING ITEM: " + clsProductDetails.ProductCode + " err: " + exProduct.Message + ".</div><br /><br />"; if (clsProduct.Connection.State == ConnectionState.Closed) { clsProduct = new Products(); clsProduct.GetConnection(); clsContactGroup = new ContactGroups(clsProduct.Connection, clsProduct.Transaction); clsContact = new Contacts(clsProduct.Connection, clsProduct.Transaction); clsUnit = new Data.Unit(clsProduct.Connection, clsProduct.Transaction); clsProductGroup = new Data.ProductGroup(clsProduct.Connection, clsProduct.Transaction); clsProductSubGroup = new Data.ProductSubGroup(clsProduct.Connection, clsProduct.Transaction); clsVariation = new Variation(clsProduct.Connection, clsProduct.Transaction); } } } } } catch (Exception exProducts) { lblError.Text += "<div class=ms-alternating> ERROR INSERTING ITEM: " + clsProductDetails.ProductCode + " err: " + exProducts.Message + ".</div><br /><br />"; if (clsProduct.Connection.State == ConnectionState.Closed) { clsProduct = new Products(); clsProduct.GetConnection(); clsContactGroup = new ContactGroups(clsProduct.Connection, clsProduct.Transaction); clsContact = new Contacts(clsProduct.Connection, clsProduct.Transaction); clsUnit = new Data.Unit(clsProduct.Connection, clsProduct.Transaction); clsProductGroup = new Data.ProductGroup(clsProduct.Connection, clsProduct.Transaction); clsProductSubGroup = new Data.ProductSubGroup(clsProduct.Connection, clsProduct.Transaction); clsVariation = new Variation(clsProduct.Connection, clsProduct.Transaction); } } } clsProduct.CommitAndDispose(); clsBranchInventory.CommitAndDispose(); lblError.Text = "Done synchronizing products from Branch: " + clsBranchDetails.BranchCode + "<br /><br />" + lblError.Text; } catch (Exception ex) { lblError.Text += "ERROR WHILE CREATING INSERT STATEMENT: " + ex.Message; } }