예제 #1
0
partial         void Insertitem(item instance)
        {
            instance.timeStampCreated = DateTime.Now;

            String companyGroupCode = this.companyGroupForItems.Where(c => c.companyCode.Equals(instance.companyCode)).Select(c => c.companyGroupCode).FirstOrDefault();

            if (!String.IsNullOrEmpty(companyGroupCode))
            {
                instance.companyCode = null;
                instance.companyGroupCode = companyGroupCode;
            }

            this.ExecuteDynamicInsert(instance);
        }
예제 #2
0
        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;
        }
예제 #3
0
        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;
        }
예제 #4
0
		private void detach_items(item entity)
		{
			this.SendPropertyChanging();
			entity.itemGroup = null;
		}
예제 #5
0
partial         void Updateitem(item instance)
        {
            instance.timeStampLastUpdate = DateTime.Now;
            this.ExecuteDynamicUpdate(instance);
        }
예제 #6
0
		private void detach_items(item entity)
		{
			this.SendPropertyChanging();
			entity.company = null;
		}
예제 #7
0
		private void attach_items(item entity)
		{
			this.SendPropertyChanging();
			entity.itemGroup = this;
		}
예제 #8
0
		private void attach_items(item entity)
		{
			this.SendPropertyChanging();
			entity.company = this;
		}
예제 #9
0
 partial void Deleteitem(item instance);
예제 #10
0
 partial void Updateitem(item instance);
예제 #11
0
 partial void Insertitem(item instance);
예제 #12
0
		private void detach_items(item entity)
		{
			this.SendPropertyChanging();
			entity.unitOfMeasure = null;
		}