protected void Page_Init(object sender, EventArgs e) { // The code below helps to protect against XSRF attacks dc = new DALPortalDataContext(); var requestCookie = Request.Cookies[AntiXsrfTokenKey]; Guid requestCookieGuidValue; if (requestCookie != null && Guid.TryParse(requestCookie.Value, out requestCookieGuidValue)) { // Use the Anti-XSRF token from the cookie _antiXsrfTokenValue = requestCookie.Value; Page.ViewStateUserKey = _antiXsrfTokenValue; } else { // Generate a new Anti-XSRF token and save to the cookie _antiXsrfTokenValue = Guid.NewGuid().ToString("N"); Page.ViewStateUserKey = _antiXsrfTokenValue; var responseCookie = new HttpCookie(AntiXsrfTokenKey) { HttpOnly = true, Value = _antiXsrfTokenValue }; if (FormsAuthentication.RequireSSL && Request.IsSecureConnection) { responseCookie.Secure = true; } Response.Cookies.Set(responseCookie); } Page.PreLoad += master_Page_PreLoad; }
protected void RadButtonSelectedInZip_Click(object sender, EventArgs e) { List <String> certificateLinks = GetCertificateLinks(); if (certificateLinks.Count != 0) { String databaseName = new DALPortalDataContext().Connection.Database; string filenameAndExtension = FilenameAndExtension(".zip"); // string path = HttpContext.Current.Server.MapPath(Path.Combine(@"~\Files\Temp", filenameAndExtension)); string path = HttpContext.Current.Server.MapPath(Path.Combine(@"~\Files\Temp", filenameAndExtension)); using (ZipArchive newFile = ZipFile.Open(path, ZipArchiveMode.Create)) { foreach (string certificateLink in certificateLinks) { newFile.CreateEntryFromFile(certificateLink, Path.GetFileName(certificateLink)); } } downloadFromPath(path); } else { LiteralNoCertificatesSelected.Visible = true; } }
private IQueryable <applicationRole> GetData() { DALPortalDataContext dc = new DALPortalDataContext(); string value = RadListBoxApplications.SelectedValue; return(dc.applicationRoles.Where(c => c.application.applicationName.Equals(value))); }
protected void Page_Load(object sender, EventArgs e) { string username = (string)Session["username"]; string name = (string)Session["name"]; UsernameLiteral2.Text = username; if (name.Equals(" ")) { name = ""; } if (!IsPostBack) { TextBoxName.Text = name; } DALPortalDataContext dc = new DALPortalDataContext(); Guid userId2 = dc.Users.Where(c => c.UserName.Equals(username)).Select(c => c.UserId).SingleOrDefault(); userSetting setting = dc.userSettings.Where(c => c.userId.Equals(userId2)).SingleOrDefault(); if (setting != null) { companyDDL.SelectedValue = setting.company.companyCode; if (!IsPostBack) { adminCheckBox.Checked = setting.siteAdmin; } } }
protected void RadButtonMergePDFs_Click(object sender, EventArgs e) { List <String> certificateLinks = GetCertificateLinks(); if (certificateLinks.Count != 0) { PdfDocument outputPDFDocument = new PdfDocument(); foreach (string certificateLink in certificateLinks) { PdfDocument inputPDFDocument = CompatiblePdfReader.Open(certificateLink); outputPDFDocument.Version = inputPDFDocument.Version; foreach (PdfPage page in inputPDFDocument.Pages) { outputPDFDocument.AddPage(page); } } String databaseName = new DALPortalDataContext().Connection.Database; string filenameAndExtension = FilenameAndExtension(".pdf"); string saveMergedPDFPath = HttpContext.Current.Server.MapPath(Path.Combine(@"~\Files\Temp", filenameAndExtension)); outputPDFDocument.Save(saveMergedPDFPath); string path = "../Files/Temp/" + filenameAndExtension; ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "OpenPDFScript", "window.open(\"../" + path + "\");", true); //downloadFromPath(path); } else { LiteralNoCertificatesSelected.Visible = true; } }
protected void RadSaveButton_Click(object sender, EventArgs e) { DALPortalDataContext dc = new DALPortalDataContext(); certificateBundle bundleOld = dc.certificateBundles.Where(c => c.businessPartnerId.Equals(businessPartnerId) && c.isActive.Equals(true)).SingleOrDefault(); if (bundleOld != null) { if (this.modelId == bundleOld.modelId) { bundleOld.startDate = DateTime.Now; bundleOld.expireDate = validUntilDTP.SelectedDate; bundleOld.previousCertQty = bundleOld.actualCertQty; // bundle.orderedCertQty = (Int32)creditsLeftTxtBox.Value - bundle.previousCertQty; bundleOld.actualCertQty = (Int32)creditsLeftTxtBox.Value; bundleOld.certificatePrice = (Decimal)priceTextBox.Value; bundleOld.isActive = true; // bundleOud.modelId = modelId; bundleOld.companyCode = "ZW"; bundleOld.businessPartnerId = businessPartnerId; } else { bundleOld.isActive = false; certificateBundle bundelNew = new certificateBundle(); bundelNew.startDate = DateTime.Now; bundelNew.expireDate = validUntilDTP.SelectedDate; bundelNew.previousCertQty = bundleOld.actualCertQty; bundelNew.orderedCertQty = 0; bundelNew.actualCertQty = (Int32)creditsLeftTxtBox.Value; bundelNew.certificatePrice = (Decimal)priceTextBox.Value; bundelNew.isActive = true; bundelNew.modelId = modelId; bundelNew.companyCode = "ZW"; bundelNew.businessPartnerId = businessPartnerId; dc.certificateBundles.InsertOnSubmit(bundelNew); } } else { certificateBundle bundelNew = new certificateBundle(); bundelNew.startDate = DateTime.Now; bundelNew.expireDate = validUntilDTP.SelectedDate; bundelNew.previousCertQty = 0; bundelNew.orderedCertQty = 0; bundelNew.actualCertQty = (Int32)creditsLeftTxtBox.Value; bundelNew.certificatePrice = (Decimal)priceTextBox.Value; bundelNew.isActive = true; bundelNew.modelId = modelId; bundelNew.companyCode = "ZW"; bundelNew.businessPartnerId = businessPartnerId; dc.certificateBundles.InsertOnSubmit(bundelNew); } dc.SubmitChanges(); Session["businessPartnerId"] = businessPartnerId; Response.Redirect("~/Pages/CustomerAccountDetails.aspx"); }
protected void RadButtonCreate_Click(object sender, EventArgs e) { DALPortalDataContext dc = new DALPortalDataContext(); string username = (string)Session["username"]; string name = (string)Session["name"]; string[] items = new string[RadListBoxDestination.Items.Count]; for (int i = 0; RadListBoxDestination.Items.Count > i; i++) //RadListBoxItem item in RadListBoxDestination.Items) { items[i] = RadListBoxDestination.Items[i].Value; } Guid userId2 = dc.Users.Where(c => c.UserName.Equals(username)).Select(c => c.UserId).SingleOrDefault(); List <userRole> roles = dc.userRoles.Where(c => c.userId.Equals(userId2)).ToList(); for (int i = 0; roles.Count() > i; i++) { if (!items.Contains(roles[i].roleCode)) { // roles.RemoveAt(i); dc.userRoles.DeleteOnSubmit(roles[i]); } } for (int i = 0; items.Count() > i; i++) { if (!roles.Any(c => c.roleCode.Equals(items[i]))) { userRole roleUser = new userRole { userId = userId2, roleCode = items[i] }; dc.userRoles.InsertOnSubmit(roleUser); } } userSetting userSetting = dc.userSettings.Where(c => c.userId.Equals(userId2)).SingleOrDefault(); if (userSetting == null) { userSetting = new userSetting { userId = userId2 }; userSetting.companyCode = "ZW"; userSetting.defaultCultureCode = "nl"; userSetting.name = TextBoxName.Text; userSetting.siteAdmin = adminCheckBox.Checked; dc.userSettings.InsertOnSubmit(userSetting); } else { userSetting.siteAdmin = adminCheckBox.Checked; userSetting.name = TextBoxName.Text; userSetting.companyCode = companyDDL.SelectedValue; } dc.SubmitChanges(); Response.Redirect("~/Pages/UserAccounts.aspx"); }
private void UpdateApplicationRoles(contactPerson contactPerson, DALPortalDataContext dc) { if (!contactPerson.isWebContact) { // Delete all roles var userRoles = dc.userRoles.Where(c => c.userId.Equals(contactPerson.userId)); dc.userRoles.DeleteAllOnSubmit(userRoles); dc.SubmitChanges(); return; } // Add CERT_USER role if (contactPerson.TMP_PortalAccess == "01" || contactPerson.TMP_PortalAccess == "04") { if (!dc.userRoles.Any(c => c.userId.Equals(contactPerson.userId) && c.roleCode.Equals("CERT_USER"))) { dc.userRoles.InsertOnSubmit(new userRole() { userId = contactPerson.userId.Value, roleCode = "CERT_USER" }); } } // Add DOP_USER role if (contactPerson.TMP_PortalAccess == "03" || contactPerson.TMP_PortalAccess == "04") { if (!dc.userRoles.Any(c => c.userId.Equals(contactPerson.userId) && c.roleCode.Equals("DOP_USER"))) { dc.userRoles.InsertOnSubmit(new userRole() { userId = contactPerson.userId.Value, roleCode = "DOP_USER" }); } } if (contactPerson.TMP_PortalAccess == "01") { // Delete DOP_USER role var userRoles = dc.userRoles.Where(c => c.userId.Equals(contactPerson.userId) && c.roleCode.Equals("DOP_USER")); dc.userRoles.DeleteAllOnSubmit(userRoles); } if (contactPerson.TMP_PortalAccess == "03") { // Delete CERT_USER role var userRoles = dc.userRoles.Where(c => c.userId.Equals(contactPerson.userId) && c.roleCode.Equals("CERT_USER")); dc.userRoles.DeleteAllOnSubmit(userRoles); } if (contactPerson.TMP_PortalAccess == null) { // Delete all roles var userRoles = dc.userRoles.Where(c => c.userId.Equals(contactPerson.userId)); dc.userRoles.DeleteAllOnSubmit(userRoles); } dc.SubmitChanges(); }
protected void Page_Load(object sender, EventArgs e) { bpCode = (string)Session["bpCode"]; companyCode2.Text = bpCode; businessPartnerId = (Int32)Session["businessPartnerId"]; dc = new DALPortalDataContext(); string bpName = dc.businessPartners.Where(c => c.bpCode.Equals(bpCode)).Select(c => c.bpName).SingleOrDefault(); string country = dc.businessPartners.Where(c => c.bpCode.Equals(bpCode)).Select(c => c.countryCode).SingleOrDefault(); company2.Text = bpName; LabelCountry2.Text = country; bool isMother = checkBoxMother.Checked; if (!IsPostBack) { checkBoxMother.Checked = getCheckBoxState(); isMother = getCheckBoxState(); accountManagerDDL.SelectedValue = dc.businessPartners.Where(c => c.bpCode.Equals(bpCode)).Select(c => c.accountManager).SingleOrDefault().ToString(); var isSister = dc.businessPartners.Where(c => c.bpCode.Equals(bpCode)).Select(c => c.bpMother).SingleOrDefault(); if (isSister > 0) { selectSistersButton.Enabled = false; dopCheckBox.Enabled = false; certificatesCheckBox.Enabled = false; ImageButton1.Enabled = false; selectSistersButton.Enabled = false; checkBoxMother.Enabled = false; } } if (!isMother) { selectSistersButton.Enabled = false; } else { selectSistersButton.Enabled = true; } if (!IsPostBack) { var bpRoles = dc.businessPartnerApplications.Where(c => c.businessPartnerId.Equals(businessPartnerId)).Select(c => c).ToList(); foreach (var role in bpRoles) { businessPartnerApplication roleE = role; if (roleE.applicationCode.Equals("CERT")) { certificatesCheckBox.Checked = true; } if (roleE.applicationCode.Equals("DOP")) { dopCheckBox.Checked = true; } } } }
private IQueryable <string> GetDataUserRoles() { DALPortalDataContext dc = new DALPortalDataContext(); string username = (string)Session["username"]; Guid userId2 = dc.Users.Where(c => c.UserName.Equals(username)).Select(c => c.UserId).SingleOrDefault(); return(dc.userRoles.Where(c => c.userId.Equals(userId2)).Select(c => c.roleCode)); }
protected void Page_Load(object sender, EventArgs e) { businessPartnerId = (Int32)Session["businessPartnerId"]; dc = new DALPortalDataContext(); if (IsPostBack) { if (ViewState["bpCode"] != null) { bpCode = ViewState["bpCode"].ToString(); } } }
private void loadData() { DALPortalDataContext dc = new DALPortalDataContext(); certificateBundle bundleOud = dc.certificateBundles.Where(c => c.businessPartnerId.Equals(bpId) && c.isActive.Equals(true)).SingleOrDefault(); if (bundleOud != null) { creditsPurchasedTxtBox.Value = bundleOud.orderedCertQty; if (bundleOud.usedCertQty != null) { creditsUsedTxtBox.Value = bundleOud.usedCertQty; } } }
protected void Page_Load(object sender, EventArgs e) { dc = new DALPortalDataContext(); if (IsPostBack) { if (ViewState["radGridCheckBoxSellectAllChecked"] != null) { radGridCheckBoxSellectAllChecked = (bool)ViewState["radGridCheckBoxSellectAllChecked"]; } } // RadGridCertificate.DataSource = null; // RadGridCertificate.DataBind(); if (!IsPostBack) { RadGridCertificate.Visible = false; RadButtonMergePDFs.Visible = false; RadButtonSelectedInZip.Visible = false; } Guid userId = (Guid)Membership.GetUser().ProviderUserKey; int bpId = dc.contactPersons.Where(c => c.userId.Equals(userId)).Select(c => c.businessPartnerId).SingleOrDefault(); var isSister = dc.businessPartners.Where(c => c.businessPartnerId.Equals(bpId)).Select(c => c.bpMother).SingleOrDefault(); var hasRole = dc.businessPartnerApplications.Where(c => c.businessPartnerId.Equals(bpId)).Where(c => c.applicationCode.Equals("DOP")).Select(c => c).SingleOrDefault(); if (!UserIsAdmin()) { if (hasRole == null) { if (isSister > 0) { var hasRole2 = dc.businessPartnerApplications.Where(c => c.businessPartnerId.Equals(isSister)).Where(c => c.applicationCode.Equals("DOP")).Select(c => c).SingleOrDefault(); if (hasRole2 == null) { SearchTxtBox.Enabled = false; SearchButton.Enabled = false; warningLiteral.Visible = true; warningLiteral.Text = "Your account has been disabled, please contact your accountmanager."; } } else { SearchTxtBox.Enabled = false; SearchButton.Enabled = false; warningLiteral.Visible = true; warningLiteral.Text = "Your account has been disabled, please contact your accountmanager."; } } } }
protected void Page_Load(object sender, EventArgs e) { dc = new DALPortalDataContext(); if (IsPostBack) { if (ViewState["bpName"] != null) { bpName = ViewState["bpName"].ToString(); } if (ViewState["bpCode"] != null) { bpCode = ViewState["bpCode"].ToString(); } } }
protected void Page_Load(object sender, EventArgs e) { portalDc = new DALPortalDataContext(); if (!IsPostBack) { itemFilter = new ItemFilter(); Session["itemFilter"] = itemFilter; } else { itemFilter = (ItemFilter)Session["itemFilter"]; } }
public static void RemoveBatchesDocument(int docId, string docType, DALPortalDataContext dc) { var batchDocuments = dc.batchDocuments.Where(c => c.baseDocType.Equals(docType) && c.baseDocId.Equals(docId)); List <int> batchIds = batchDocuments.Select(c => c.batchId).ToList(); dc.batchDocuments.DeleteAllOnSubmit(batchDocuments); dc.SubmitChanges(); var batches = dc.batches.Where(c => batchIds.Contains(c.batchId) && c.batchDocuments.Count() == 0); dc.batches.DeleteAllOnSubmit(batches); dc.SubmitChanges(); }
public static item GetItem(String itemCode, String companyCode, DALPortalDataContext dc) { if (!dc.items.Any(c => c.itemCode.Equals(itemCode))) { return(null); } if (dc.companyGroupForItems.Any(c => c.companyCode.Equals(companyCode))) { return(dc.items.Where(c => c.itemCode.Equals(itemCode) && c.companyGroup.companyGroupForItems.Any(d => d.companyCode.Equals(companyCode))).FirstOrDefault()); } else { return(dc.items.Where(c => c.itemCode.Equals(itemCode) && c.companyCode.Equals(companyCode)).FirstOrDefault()); } }
private void getData() { DALPortalDataContext dc = new DALPortalDataContext(); certificateBundle bundle = dc.certificateBundles.Where(c => c.businessPartnerId.Equals(businessPartnerId) && c.isActive.Equals(true)).SingleOrDefault(); if (bundle != null) { creditsPurchasedTxtBox.Value = bundle.orderedCertQty; creditsUsedTxtBox.Value = bundle.usedCertQty; creditsLeftTxtBox.Value = bundle.actualCertQty; validUntilDTP.SelectedDate = bundle.expireDate; if (bundle.certificatePrice == null) { priceTextBox.Value = 7.50; } else { priceTextBox.Value = (Double)bundle.certificatePrice; } switch (bundle.modelId) { case 1: btnModel1.Checked = true; break; case 2: btnModel2.Checked = true; break; case 3: btnModel3.Checked = true; break; case 4: btnModel4.Checked = true; break; case 5: btnModel5.Checked = true; break; } this.modelId = bundle.modelId; } }
/// <summary> /// Get Mother BusinessPartner based on UserId /// </summary> /// <param name="userId"></param> /// <param name="dc"></param> /// <returns></returns> public static businessPartner GetBusinessPartnerMother(Guid userId, DALPortalDataContext dc) { businessPartner bp = dc.businessPartners.Where(c => c.contactPersons.Any(d => d.userId.Equals(userId))).FirstOrDefault(); if (bp == null) { return(null); } if (bp.businessPartner1 == null) { return(bp); } else { return(bp.businessPartner1); } }
public Boolean ProcessPDF(String databaseName, String filePath) { Boolean returnValue = true; try { String fileName = Path.GetFileName(filePath); String fileType = fileName.Substring(0, fileName.IndexOf("_")); switch (fileType) { case "CERT": DALPortalDataContext dc = new DALPortalDataContext(); String newPath = Path.Combine(Parameters_DataProcessor.CompanyFilesRoot, "Certificates", fileName); String dbPath = Path.Combine(@"~\Files\Certificates", fileName); String docId = fileName.Replace(fileType + "_", "").Replace(".pdf", ""); var batchesToUpdate = dc.batches.Where(c => c.ixosArchiveId.Equals(docId)).ToList(); if (batchesToUpdate.Count == 0) { throw new Exception(String.Format("Unable to find Batch with certificateIndexNumber {0}", docId)); } VanLeeuwen.Framework.IO.File.WaitForRelease(filePath, 10); VanLeeuwen.Framework.IO.File.MoveAndOverwrite(filePath, newPath); // Add Path to Batches batchesToUpdate.ForEach(c => c.certificateLink = dbPath); dc.SubmitChanges(); break; } } catch (Exception ex) { Trace.WriteLine(String.Format("Process PDF file Failed. Error: {0}", ex.Message), "ProcessDataFromXML"); returnValue = false; } return(returnValue); }
protected void LoginBox_LoggedIn(object sender, EventArgs e) { DALPortalDataContext dc = new DALPortalDataContext(); MembershipUser member = Membership.GetUser(LoginBox.UserName); string id = member.ProviderUserKey.ToString().ToLower(); List <userRole> roles = dc.userRoles.Where(c => c.userId.ToString().ToLower().Equals(id)).ToList(); if (roles.Any(c => c.roleCode.Equals("CERT_USER")) || roles.Any(c => c.roleCode.Equals("CERT_ADMIN"))) { Response.Redirect("~/Pages/DeliveryDetails.aspx"); } if (roles.Any(c => c.roleCode.Equals("DOP_USER")) || roles.Any(c => c.roleCode.Equals("DOP_ADMIN"))) { Response.Redirect("~/Pages/DOP/DOPDetails.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { portalDc = new DALPortalDataContext(); this.itemFilter = (ItemFilter)Session["itemFilter"]; if (!IsPostBack) { this.selectedItemId = Convert.ToInt32(Session["selectedItemId"]); this.selectedCompanyCode = Session["selectedCompanyCode"].ToString(); IQueryable <vw_item> data = EsmHelper.GetData(portalDc, this.itemFilter); int index = data.ToList().FindIndex(c => c.itemId.Equals(selectedItemId) && c.companyCode.Equals(selectedCompanyCode)); RadDataPager radDataPager = RadListViewItem.FindControl("RadDataPagerItem") as RadDataPager; radDataPager.FireCommand("Page", (index).ToString()); } }
public static item CreateItem(String itemCode, String itemDescription, String companyCode) { DALPortalDataContext dc = new DALPortalDataContext(); if (GetItem(itemCode, companyCode, dc) == null) { item newItem = new item(); newItem.itemCode = itemCode; newItem.description = itemDescription; newItem.companyCode = companyCode; dc.items.InsertOnSubmit(newItem); dc.SubmitChanges(); return(newItem); } return(null); }
protected void rolesDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e) { e.Result = GetData(); DALPortalDataContext dc = new DALPortalDataContext(); string username = (string)Session["username"]; Guid userId2 = dc.Users.Where(c => c.UserName.Equals(username)).Select(c => c.UserId).SingleOrDefault(); List <string> roles = dc.userRoles.Where(c => c.userId.Equals(userId2)).Select(c => c.roleCode).ToList(); for (int i = 0; roles.Count() > i; i++) { if (RadListBoxSource.FindItemByValue(roles[i]) != null) { RadListBoxSource.FindItemByValue(roles[i]).Remove(); } } RadListBox items = RadListBoxApplications; string valueListBox = RadListBoxApplications.SelectedValue; }
public static Boolean ProcessCustomer(string fileContent, out businessPartner businessPartner, out String outCompanyCode) { businessPartner = new businessPartner(); DALPortalDataContext dc = new DALPortalDataContext(); Boolean update; String companyCode = String.Empty; outCompanyCode = String.Empty; try { XDocument xmldoc = XDocument.Parse(fileContent); XElement docTypeElement = xmldoc.Element("DEBMAS03"); XElement iDocElement = docTypeElement.Element("IDOC"); var customerHeaderElement = iDocElement.Element("E1KNA1M"); //Int32 CardCode; // Remove unused elements iDocElement.Element("EDI_DC40").Remove(); // BpCode, remove leading zero's from Cardcode String bpCode = Convert.ToInt32(customerHeaderElement.Element("KUNNR").Value).ToString(); String sectionCode = customerHeaderElement.Element("E1KNVVM").Element("VKORG").Value; companyCode = CompanyClass.GetCompanyBasedOnSection(sectionCode, dc); outCompanyCode = companyCode; // Check if bp Already exists businessPartner = BusinessPartnerClass.GetBusinessPartner(bpCode, companyCode, dc); if (businessPartner == null) { businessPartner = new businessPartner(); update = false; } else { update = true; } if (!update) { String companyGroupCode = dc.companyGroupForBps.Where(c => c.companyCode.Equals(companyCode)).Select(c => c.companyGroupCode).FirstOrDefault(); if (String.IsNullOrEmpty(companyGroupCode)) { businessPartner.companyCode = companyCode; } else { businessPartner.companyGroupCode = companyGroupCode; } } // Mapp customer header data businessPartner.bpCode = bpCode; businessPartner.bpType = 'C'; businessPartner.bpName = customerHeaderElement.Elements().Where(c => c.Name.ToString().Equals("NAME1")).FirstOrDefault().Value; businessPartner.address = customerHeaderElement.Elements().Where(c => c.Name.ToString().Equals("STRAS")).FirstOrDefault().Value; if (customerHeaderElement.Elements().Any(c => c.Name.ToString().Equals("TELF1"))) { businessPartner.telephone = customerHeaderElement.Elements().Where(c => c.Name.ToString().Equals("TELF1")).FirstOrDefault().Value; } if (customerHeaderElement.Elements().Any(c => c.Name.ToString().Equals("TELFX"))) { businessPartner.fax = customerHeaderElement.Elements().Where(c => c.Name.ToString().Equals("TELFX")).FirstOrDefault().Value; } businessPartner.countryCode = customerHeaderElement.Elements().Where(c => c.Name.ToString().Equals("LAND1")).FirstOrDefault().Value; businessPartner.languageCode = customerHeaderElement.Elements().Where(c => c.Name.ToString().Equals("SPRAS_ISO")).FirstOrDefault().Value; // Mapp contactperson data foreach (var contactpersonElement in customerHeaderElement.Elements("E1KNVKM").ToList()) { contactPerson contact; // Contact Id String contactPersonCode = Convert.ToInt32(contactpersonElement.Elements().Where(c => c.Name.ToString().Equals("PARNR")).FirstOrDefault().Value).ToString(); Boolean newContact = false; if (update && businessPartner.contactPersons.Any(c => c.contactPersonCode.Equals(contactPersonCode))) { contact = businessPartner.contactPersons.Where(c => c.contactPersonCode.Equals(contactPersonCode)).FirstOrDefault(); } else { contact = new contactPerson(); contact.contactPersonCode = contactPersonCode; newContact = true; } // Email var emailAddress = contactpersonElement.Elements().Where(c => c.Name.ToString().Equals("PARAU")).FirstOrDefault(); if (emailAddress != null) { contact.eMail = emailAddress.Value.ToLower(); } // Title var title = contactpersonElement.Elements().Where(c => c.Name.ToString().Equals("ANRED")).FirstOrDefault(); if (title != null) { contact.title = title.Value; } // FirstName var firstName = contactpersonElement.Elements().Where(c => c.Name.ToString().Equals("NAMEV")).FirstOrDefault(); if (firstName != null) { contact.firstName = firstName.Value; } // LastName var lastName = contactpersonElement.Elements().Where(c => c.Name.ToString().Equals("NAME1")).FirstOrDefault(); if (lastName != null) { contact.lastName = lastName.Value; } // WebUser var webUserType = contactpersonElement.Elements().Where(c => c.Name.ToString().Equals("AKVER")).FirstOrDefault(); if (webUserType != null) { contact.isWebContact = (webUserType.Value == "02") ? false : true; contact.TMP_PortalAccess = webUserType.Value; } // Add CardCode to contactperson if (newContact) { businessPartner.contactPersons.Add(contact); } } } catch (Exception ex) { Trace.WriteLine(String.Format("Error converting customer {0} for company {1} from SAP ECC6 XML format. Error: {2}", businessPartner.bpCode, companyCode, ex.Message), "MapCustomerFromECC6"); return(false); } if (update) { try { dc.SubmitChanges(); Trace.WriteLine(String.Format("Updating Customer {0} for company {1} Successfull.", businessPartner.bpCode, companyCode), "MapCustomerFromECC6"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Updating Customer {0} for company {1}. Error: {2}", businessPartner.bpCode, companyCode, ex.Message), "MapCustomerFromECC6"); return(false); } } else { try { dc.businessPartners.InsertOnSubmit(businessPartner); dc.SubmitChanges(); Trace.WriteLine(String.Format("Creating Customer {0} for company {1} Successfull.", businessPartner.bpCode, companyCode), "MapCustomerFromECC6"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Creating Customer {0} for company {1}. Error: {2}", businessPartner.bpCode, companyCode, ex.Message), "MapCustomerFromECC6"); return(false); } } return(true); }
private static Boolean ProcessBatches(delivery deliveryDocument, List <batch> batches) { DALPortalDataContext dc = new DALPortalDataContext(); Boolean returnValue = true; // Remove all batches attached to this document BatchClass.RemoveBatchesDocument(deliveryDocument.docId, deliveryDocument.docType, dc); foreach (batch batchLine in batches) { try { batch batch = BatchClass.GetBatch(batchLine.batchNumber, batchLine.heatNumber, batchLine.itemId, deliveryDocument.companyCode, dc); Boolean newBatch = false; if (batch == null) { batch = new batch(); newBatch = true; } if (newBatch) { batch.batchNumber = batchLine.batchNumber; batch.companyCode = deliveryDocument.companyCode; } batch.itemId = batchLine.itemId; batch.certificateIndexNumber = batchLine.certificateIndexNumber; batch.heatNumber = batchLine.heatNumber; batch.ixosArchiveId = batchLine.ixosArchiveId; if (newBatch) { // Check if certificate is already on the server String fileName = "CERT_" + batchLine.ixosArchiveId + ".pdf"; String filePath = Path.Combine(Parameters_DataProcessor.CompanyFilesRoot, "Certificates", fileName); String dbPath = Path.Combine(@"~\Files\Certificates", fileName); if (File.Exists(filePath)) { batch.certificateLink = dbPath; } } foreach (batchDocument batchDocLine in batchLine.batchDocuments) { // Check if Batch relates to document batchDocument batchDoc = batch.batchDocuments.Where(c => c.baseDocId.Equals(deliveryDocument.docId) && c.baseLineNum.Equals(batchDocLine.baseLineNum) && c.baseDocType.Equals("DL")).FirstOrDefault(); Boolean newBatchDoc = false; if (batchDoc == null) { newBatchDoc = true; batchDoc = new batchDocument(); batchDoc.baseDocId = deliveryDocument.docId; batchDoc.baseLineNum = batchDocLine.baseLineNum; batchDoc.baseDocType = "DL"; } batchDoc.quantity = batchDocLine.quantity; if (newBatchDoc) { batch.batchDocuments.Add(batchDoc); } } if (newBatch) { dc.batches.InsertOnSubmit(batch); } dc.SubmitChanges(); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Processing Batches for Delivery {0} for company {1}. Error: {2}", deliveryDocument.documentNumber, deliveryDocument.companyCode, ex.Message), "ProcessBatches"); returnValue = false; } } return(returnValue); }
public static bool ProcessItem(string fileContent) { item item = new item(); DALPortalDataContext dc = new DALPortalDataContext(); Boolean update; String companyCode = String.Empty; //outCompanyCode = String.Empty; try { XDocument xmldoc = XDocument.Parse(fileContent); XElement docTypeElement = xmldoc.Element("MATMAS05"); XElement iDocElement = docTypeElement.Element("IDOC"); var itemHeaderElement = iDocElement.Element("E1MARAM"); // ItemCode, remove leading zero's from ItemCode String itemCode = RemoveLeadingZeros(itemHeaderElement.Element("MATNR").Value).ToString(); String sectionCode = itemHeaderElement.Element("E1MVKEM").Element("VKORG").Value; companyCode = CompanyClass.GetCompanyBasedOnSection(sectionCode, dc); // Check if item Already exists item = ItemClass.GetItem(itemCode, companyCode, dc); if (item == null) { item = new item(); update = false; } else { update = true; } if (!update) { item.companyCode = companyCode; } // Mapp customer header data item.itemCode = itemCode; // English description XElement ItemDescElement = itemHeaderElement.Elements("E1MAKTM").ToList().Where(c => c.Element("MSGFN").Value.Equals("005") && c.Element("SPRAS_ISO").Value.Equals("EN")).FirstOrDefault(); if (ItemDescElement != null) { XElement ItemDescElement2 = ItemDescElement.Element("MAKTX"); if (ItemDescElement2 != null) { item.description = ItemDescElement2.Value; } } // Certificate Type. // 00 = Cert. Niet van toepassing if (itemHeaderElement.Elements().Any(c => c.Name.ToString().Equals("GTIN_VARIANT"))) { item.CertificateType = itemHeaderElement.Element("GTIN_VARIANT").Value; } } catch (Exception ex) { Trace.WriteLine(String.Format("Error converting item {0} for company {1} from SAP ECC6 XML format. Error: {2}", item.itemCode, companyCode, ex.Message), "ProcessItem"); return(false); } if (update) { try { dc.SubmitChanges(); Trace.WriteLine(String.Format("Updating Item {0} for company {1} Successfull.", item.itemCode, companyCode), "ProcessItem"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Updating Item {0} for company {1}. Error: {2}", item.itemCode, companyCode, ex.Message), "ProcessItem"); return(false); } } else { try { dc.items.InsertOnSubmit(item); dc.SubmitChanges(); Trace.WriteLine(String.Format("Creating Item {0} for company {1} Successfull.", item.itemCode, companyCode), "ProcessItem"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Creating Item {0} for company {1}. Error: {2}", item.itemCode, companyCode, ex.Message), "ProcessItem"); return(false); } } return(true); }
public static Boolean ProcessSalesOrder(string fileContent, out salesOrder document) { document = new salesOrder(); DALPortalDataContext dc = new DALPortalDataContext(); Boolean update; try { XDocument xmldoc = XDocument.Parse(fileContent); XElement docTypeElement = xmldoc.Element("ORDERS05"); XElement iDocElement = docTypeElement.Element("IDOC"); // Company XElement companyElement = iDocElement.Elements("E1EDK14").ToList().Where(c => c.Element("QUALF").Value.Equals("008")).FirstOrDefault(); String sectionCode = companyElement.Element("ORGID").Value; String companyCode = CompanyClass.GetCompanyBasedOnSection(sectionCode, dc); String ecc6DocNum = RemoveLeadingZeros(iDocElement.Element("E1EDK01").Element("BELNR").Value); // Check if Sales Order already exists document = dc.salesOrders.Where(c => c.documentNumber.Equals(ecc6DocNum) && c.companyCode.Equals(companyCode)).FirstOrDefault(); if (document == null) { document = new salesOrder(); document.companyCode = companyCode; document.documentNumber = ecc6DocNum; document.docStatusCode = "O"; update = false; } else { update = true; } // Document Header info String sapECC6BusinessPartnerCode = Convert.ToInt32(iDocElement.Element("E1EDK01").Element("RECIPNT_NO").Value).ToString(); businessPartner bp = Objects.BusinessPartnerClass.GetBusinessPartner(sapECC6BusinessPartnerCode, document.companyCode, dc); if (bp == null) { throw new Exception(String.Format("BusinessPartner {0} does not exists.", sapECC6BusinessPartnerCode)); } document.businessPartnerId = bp.businessPartnerId; document.currencyCode = iDocElement.Element("E1EDK01").Element("CURCY").Value; document.currencyRate = Convert.ToDecimal(iDocElement.Element("E1EDK01").Element("WKURS").Value, NumberFormatInfo.InvariantInfo); // Customer Reference XElement custRef = iDocElement.Elements("E1EDK02").ToList().Where(c => c.Element("QUALF").Value.Equals("001")).FirstOrDefault(); document.customerReference = custRef.Element("BELNR").Value; // Dates XElement delDateElement = iDocElement.Elements("E1EDK03").ToList().Where(c => c.Element("IDDAT").Value.Equals("002")).FirstOrDefault(); document.deliveryDate = DateTime.ParseExact(delDateElement.Element("DATUM").Value, "yyyyMMdd", CultureInfo.CurrentCulture); XElement del2DateElement = iDocElement.Elements("E1EDK03").ToList().Where(c => c.Element("IDDAT").Value.Equals("012")).FirstOrDefault(); document.docDate = DateTime.ParseExact(del2DateElement.Element("DATUM").Value, "yyyyMMdd", CultureInfo.CurrentCulture); XElement del3DateElement = iDocElement.Elements("E1EDK03").ToList().Where(c => c.Element("IDDAT").Value.Equals("025")).FirstOrDefault(); document.createDate = DateTime.ParseExact(del3DateElement.Element("DATUM").Value, "yyyyMMdd", CultureInfo.CurrentCulture); // Sales Order lines foreach (var orderLineElement in iDocElement.Elements("E1EDP01").ToList()) { salesOrderLine line = new salesOrderLine(); Int32 lineNum = Convert.ToInt32(orderLineElement.Element("POSEX").Value); Boolean newLine = false; if (update && document.salesOrderLines.Any(c => c.lineNum.Equals(lineNum))) { line = document.salesOrderLines.Where(c => c.lineNum.Equals(lineNum)).FirstOrDefault(); } else { line.lineNum = lineNum; newLine = true; } // Get Item (remove leading zero's) XElement ItemCodeElement = orderLineElement.Elements("E1EDP19").ToList().Where(c => c.Element("QUALF").Value.Equals("002")).FirstOrDefault(); String itemCode = RemoveLeadingZeros(ItemCodeElement.Element("IDTNR").Value); String itemName = ItemCodeElement.Element("KTEXT").Value; item item = ItemClass.GetItem(itemCode, companyCode, dc); if (item == null) { item = ItemClass.CreateItem(itemCode, itemName, companyCode); } line.itemId = item.itemId; line.lineNum = Convert.ToInt32(orderLineElement.Element("POSEX").Value); line.uomCodeOrg = orderLineElement.Element("MENEE").Value; line.price = Convert.ToDecimal(orderLineElement.Element("VPREI").Value, NumberFormatInfo.InvariantInfo); line.itemDescription = itemName; if (orderLineElement.Element("MENGE") != null) { line.quantity = Convert.ToDecimal(orderLineElement.Element("MENGE").Value, NumberFormatInfo.InvariantInfo); } else { line.quantity = 0; } if (orderLineElement.Element("NTGEW") != null) { line.weight = Convert.ToDecimal(orderLineElement.Element("NTGEW").Value, NumberFormatInfo.InvariantInfo); } else { line.weight = 0; } line.lineTypeCode = orderLineElement.Element("PSTYV").Value; line.lineStatusCode = "O"; line.customerReference = String.Empty; line.customerItemCode = String.Empty; XElement customerItemCodeElement = orderLineElement.Elements("E1EDP19").ToList().Where(c => c.Element("QUALF").Value.Equals("001")).FirstOrDefault(); if (customerItemCodeElement != null) { XElement customerItemCodeElement2 = customerItemCodeElement.Element("IDTNR"); if (customerItemCodeElement2 != null) { line.customerItemCode = RemoveLeadingZeros(customerItemCodeElement2.Value); } } XElement customerReference = orderLineElement.Elements("E1EDPT1").ToList().Where(c => c.Element("TDID").Value.Equals("0002")).FirstOrDefault(); if (customerReference != null) { XElement customerReference2 = customerReference.Element("E1EDPT2"); if (customerReference2 != null) { line.customerReference = customerReference2.Element("TDLINE") != null?customerReference2.Element("TDLINE").Value : String.Empty; } } // Line is cancelled when field ABGRU is filled var lineStatusElement = orderLineElement.Element("ABGRU");; if (lineStatusElement != null) { if (!String.IsNullOrWhiteSpace(lineStatusElement.Value)) { line.lineStatusCode = "C"; } } // ShipDate String deliveryDate = GetSOLineDeliveryDate(orderLineElement); if (!String.IsNullOrEmpty(deliveryDate)) { line.deliveryDate = DateTime.ParseExact(deliveryDate, "yyyyMMdd", CultureInfo.CurrentCulture); } // Certificate as Ordered Boolean certAsOrdered = orderLineElement.Elements("E1EDP02").ToList().Any(c => c.Element("QUALF").Value.Equals("902") && c.Element("BELNR").Value.Equals("ZCPT")); line.certOrdered = certAsOrdered; if (newLine) { document.salesOrderLines.Add(line); } } } catch (Exception ex) { Trace.WriteLine(String.Format("Error converting Sales Order {0} for company {1} from SAP ECC6 XML format. Error: {2}", document.documentNumber, document.companyCode, ex.Message), "ProcessSalesOrder"); return(false); } if (update) { try { dc.SubmitChanges(); Trace.WriteLine(String.Format("Updating Sales Order {0} for company {1} Successfull.", document.documentNumber, document.companyCode), "ProcessSalesOrder"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Updating Sales Order {0} for company {1}. Error: {2}", document.documentNumber, document.companyCode, ex.Message), "ProcessSalesOrder"); return(false); } } else { try { dc.salesOrders.InsertOnSubmit(document); dc.SubmitChanges(); Trace.WriteLine(String.Format("Creating Sales Order {0} for company {1} Successfull.", document.documentNumber, document.companyCode), "ProcessSalesOrder"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Creating Sales Order {0} for company {1}. Error: {2}", document.documentNumber, document.companyCode, ex.Message), "ProcessSalesOrder"); return(false); } } return(true); }
public static certificateBundle GetCurrentBundle(Int32 businessPartnerId, DALPortalDataContext dc) { return(dc.certificateBundles.Where(c => c.businessPartnerId.Equals(businessPartnerId)).Where(r => r.isActive).SingleOrDefault()); }
public static Boolean ProcessDelivery(String fileContent, out delivery deliveryDocument) { deliveryDocument = new delivery(); List <batch> batches = new List <batch>(); String sapECC6DocNum = String.Empty; DALPortalDataContext dc = new DALPortalDataContext(); Boolean update; Boolean returnValue = true; try { List <String> items = new List <String>(); XDocument xmldoc = XDocument.Parse(fileContent); XElement docTypeElement = xmldoc.Element("DELVRY03"); XElement iDocElement = docTypeElement.Element("IDOC"); XElement deliveryElement = iDocElement.Element("E1EDL20"); // Company String sectionCode = deliveryElement.Element("VKORG").Value; String companyCode = CompanyClass.GetCompanyBasedOnSection(sectionCode, dc); sapECC6DocNum = RemoveLeadingZeros(deliveryElement.Element("VBELN").Value); // Check if Sales Order already exists deliveryDocument = dc.deliveries.Where(c => c.documentNumber.Equals(sapECC6DocNum) && c.companyCode.Equals(companyCode)).FirstOrDefault(); if (deliveryDocument == null) { deliveryDocument = new delivery(); deliveryDocument.companyCode = companyCode; deliveryDocument.documentNumber = sapECC6DocNum; deliveryDocument.docStatusCode = "O"; update = false; } else { update = true; } // Document Header info String sapECC6BusinessPartnerCode = RemoveLeadingZeros(deliveryElement.Elements("E1ADRM1").Where(c => c.Element("PARTNER_Q").Value.Equals("AG")).FirstOrDefault().Element("PARTNER_ID").Value); businessPartner bp = Objects.BusinessPartnerClass.GetBusinessPartner(sapECC6BusinessPartnerCode, deliveryDocument.companyCode, dc); if (bp == null) { throw new Exception(String.Format("BusinessPartner {0} does not exists.", sapECC6BusinessPartnerCode)); } // Get BusinessPartnerID deliveryDocument.businessPartnerId = bp.businessPartnerId; // Dates XElement delDateElement = deliveryElement.Elements("E1EDT13").ToList().Where(c => c.Element("QUALF").Value.Equals("007")).FirstOrDefault(); deliveryDocument.deliveryDate = DateTime.ParseExact(delDateElement.Element("NTEND").Value, "yyyyMMdd", CultureInfo.CurrentCulture); XElement del2DateElement = deliveryElement.Elements("E1EDT13").ToList().Where(c => c.Element("QUALF").Value.Equals("015")).FirstOrDefault(); deliveryDocument.docDate = DateTime.ParseExact(del2DateElement.Element("NTEND").Value, "yyyyMMdd", CultureInfo.CurrentCulture); deliveryDocument.createDate = DateTime.ParseExact(del2DateElement.Element("NTEND").Value, "yyyyMMdd", CultureInfo.CurrentCulture); if (deliveryDocument.deliveryDate < DateTime.Now.AddYears(-50)) { deliveryDocument.deliveryDate = deliveryDocument.docDate; } //// Delivery lines List <XElement> deliveryLines = deliveryElement.Elements("E1EDL24").Where(c => c.Element("HIPOS") == null).ToList(); List <XElement> deliverySubLines = deliveryElement.Elements("E1EDL24").Where(c => c.Element("HIPOS") != null).ToList(); foreach (var deliveryLineElement in deliveryLines) { deliveryLine line = new deliveryLine(); String lineNumString = deliveryLineElement.Element("POSNR").Value; Int32 lineNum = Convert.ToInt32(lineNumString); Boolean newLine = false; if (update && deliveryDocument.deliveryLines.Any(c => c.lineNum.Equals(lineNum))) { line = deliveryDocument.deliveryLines.Where(c => c.lineNum.Equals(lineNum)).FirstOrDefault(); } else { line.lineNum = lineNum; newLine = true; } // DeliveryLine is not connected to a Sales Order if (deliveryLineElement.Element("VGBEL") == null) { continue; } String sapSODocNum = RemoveLeadingZeros(deliveryLineElement.Element("VGBEL").Value); Int32 sapSOLineNum = Convert.ToInt32(deliveryLineElement.Element("VGPOS").Value); salesOrderLine salesOrderLine = Objects.SalesOrderClass.GetSalesOrderLine(sapSODocNum, lineNum, companyCode, dc); if (salesOrderLine == null) { Trace.WriteLine(String.Format("Cannot find Sales Order {0}, Line {1} for Delivery {2}.", sapSODocNum, sapSOLineNum, sapECC6DocNum), "MapDeliveryXMLToSBO"); returnValue = false; continue; } String itemCode = RemoveLeadingZeros(deliveryLineElement.Element("MATNR").Value); item item = Objects.ItemClass.GetItem(itemCode, companyCode, dc); // Get POSTYPE String posType = deliveryLineElement.Element("E1EDL26").Element("PSTYV").Value; XElement baseLineNum = deliveryLineElement.Element("HIPOS"); // Add Batchinfo Decimal quantity = Convert.ToDecimal(deliveryLineElement.Element("LFIMG").Value, NumberFormatInfo.InvariantInfo); if (lineNumString.Substring(0, 1).Equals("9")) { continue; } if (Serac.BasicFunctions.Right(itemCode, 1).Equals("B") && (posType == "ZBNI" || posType == "ZCNI")) { // Get Quantity and Batches from Treatment line GetBatchesTreatmentLine(ref batches, ref quantity, line.lineNum, deliverySubLines, item.itemId); } else if (quantity > 0) { GetBatch(ref batches, line.lineNum, deliveryLineElement, quantity, item.itemId); } else { // Get Quantity and Batches from "Charge Splitsing" GetBatchesChargeSplitsing(ref batches, ref quantity, line.lineNum, deliverySubLines, item.itemId); } // Update Currency from base document if (deliveryDocument.currencyCode == null) { deliveryDocument.currencyCode = salesOrderLine.salesOrder.currencyCode; deliveryDocument.currencyRate = salesOrderLine.salesOrder.currencyRate; } line.baseDocId = salesOrderLine.salesOrder.docId; line.baseLineNum = Convert.ToInt32(deliveryLineElement.Element("VGPOS").Value); line.baseDocType = "SO"; line.quantity = quantity; line.itemId = item.itemId; line.lineStatusCode = "O"; line.itemDescription = salesOrderLine.itemDescription; // Get Certificates as ordered from base document line.certOrdered = salesOrderLine.certOrdered; // Add Line to SBO delivery line if (newLine) { deliveryDocument.deliveryLines.Add(line); } } } catch (Exception ex) { Trace.WriteLine(String.Format("Error Converting Delivery XML to WebPortal format. Error: {0}", ex.Message), "ProcessDelivery"); return(false); } if (deliveryDocument.deliveryLines.Count == 0) { return(false); } if (update) { try { dc.SubmitChanges(); Trace.WriteLine(String.Format("Updating Delivery {0} for company {1} Successfull.", deliveryDocument.documentNumber, deliveryDocument.companyCode), "ProcessDelivery"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Updating Delivery {0} for company {1}. Error: {2}", deliveryDocument.documentNumber, deliveryDocument.companyCode, ex.Message), "ProcessDelivery"); return(false); } } else { try { dc.deliveries.InsertOnSubmit(deliveryDocument); dc.SubmitChanges(); Trace.WriteLine(String.Format("Creating Delivery {0} for company {1} Successfull.", deliveryDocument.documentNumber, deliveryDocument.companyCode), "ProcessDelivery"); } catch (Exception ex) { Trace.WriteLine(String.Format("Error Creating Delivery {0} for company {1}. Error: {2}", deliveryDocument.documentNumber, deliveryDocument.companyCode, ex.Message), "ProcessDelivery"); return(false); } } if (!ProcessBatches(deliveryDocument, batches)) { return(false); } return(returnValue); }