Ejemplo n.º 1
0
 public ClassMemberCollection Add(ClassMember classMember, bool addGetterSetter = true)
 {
     ClassMembers.Add(classMember);
     classMember.Owner = Owner;
     if (!classMember.NonAccessModifiers.Contains(Abstract) && !classMember.NonAccessModifiers.Contains(Final) && !classMember.NonAccessModifiers.Contains(Static) && addGetterSetter)
     {
         GetterFunctions.Add(new GetterFunction(classMember));
         SetterFunctions.Add(new SetterFunction(classMember));
     }
     return(this);
 }
Ejemplo n.º 2
0
        void AddMethod(string methodName, string classId)
        {
            string className = classIdsToClassNames [classId];

            ClassMembers members = classNamesToClassMembers [className];

            if (members.methods == null)
            {
                members.methods = new HashSet <string> ();
            }
            members.methods.Add(methodName);
        }
Ejemplo n.º 3
0
        void AddField(string fieldName, string classId)
        {
            string className = classIdsToClassNames [classId];

            ClassMembers members = classNamesToClassMembers [className];

            if (members.fields == null)
            {
                members.fields = new HashSet <string> ();
            }
            members.fields.Add(fieldName);
        }
Ejemplo n.º 4
0
        public EntityClass(EntityConstraintsClass eConsts, string module)
        {
            EntityConstraints = eConsts;
            Name    = eConsts.TableName.ToPascalCase() + "Entity";
            Package = $@"havelsan.kovan.{module}.service.entity";

            BaseClass = PredefinedClasses.HvlEntity;

            Annotations.Add(Entity());

            Annotations.Add(Table()
                            .SetParameter("name", eConsts.TableNameRef)
                            .SetParameter("schema", eConsts.TableSchema)
                            .SetParameter("indexes", eConsts.UniqueConstraintsRef.Select(u =>
                                                                                         Index()
                                                                                         .SetParameter("name", u.Name)
                                                                                         .SetParameter("unique", true)
                                                                                         .SetParameter("columnList", u.ColumnList)).ToList()

                                          ));

            IfPresent(eConsts.TableSequenceRef, ts => Annotations.Add(HvlEntitySequence().SetParameter("name", ts)));

            ClassMembers.AddRange(eConsts.Table.Columns.Select(col =>
            {
                var cm = new ClassMember(col.Name.ToCamelCase(), col.Type.ToJavaType(), null, AccessModifier.Private);
                cm.Annotations.Add(Column().SetParameter("name", eConsts.GetColumnName(col)));
                cm.Annotations.AddIfTrue(!col.Nullable, NotNull());

                IfPresent(col.Size, size =>
                {
                    if (cm.Type.BaseClass == PredefinedClasses.JavaNumber)
                    {
                        var da = Digits();
                        size.Max.IfPresent(max => da.SetParameter("integer", eConsts.GetColumnSizeMax(col)));
                        size.Min.IfPresent(min => da.SetParameter("fraction", eConsts.GetColumnSizeMin(col)));
                        cm.Annotations.Add(da);
                    }
                    else
                    {
                        var sa = Size();
                        size.Min.IfPresent(min => sa.SetParameter("min", eConsts.GetColumnSizeMin(col)));
                        size.Max.IfPresent(max => sa.SetParameter("max", eConsts.GetColumnSizeMax(col)));
                        cm.Annotations.Add(sa);
                    }
                });
                return(cm);
            }));
        }
Ejemplo n.º 5
0
 public ClassMemberCollection AddRange(IEnumerable <ClassMember> classMembers)
 {
     ClassMembers
     .AddList(classMembers)
     .ForEach(x =>
     {
         x.Owner = Owner;
         if (!x.NonAccessModifiers.Contains(Abstract) && !x.NonAccessModifiers.Contains(Final) && !x.NonAccessModifiers.Contains(Static))
         {
             GetterFunctions.Add(new GetterFunction(x));
             SetterFunctions.Add(new SetterFunction(x));
         }
     });
     return(this);
 }
        void AddClass(string classNamespace, string className, string classId, bool keepAllFields = false)
        {
            string fullClassName = GetFullClassName(classNamespace, className);

            if (fullClassName != null)
            {
                if ((classId != null) && (classId != "NoClass"))
                {
                    classIdsToClassNames [classId] = fullClassName;
                }
                if (!classNamesToClassMembers.TryGetValue(fullClassName, out ClassMembers members))
                {
                    members = new ClassMembers();
                    classNamesToClassMembers [fullClassName] = members;
                }
                members.keepAllFields |= keepAllFields;
            }
        }
Ejemplo n.º 7
0
        public ModelClass(EntityClass eClass, string module)
        {
            EntityClass = eClass;
            Name        = eClass.EntityConstraints.TableName.ToPascalCase() + "Model";
            Package     = $@"havelsan.kovan.{module}.common.dto";

            BaseClass = PredefinedClasses.HvlModel;

            foreach (var classMember in EntityClass.ClassMembers.ClassMembers)
            {
                var cm = new ClassMember(classMember.Name, classMember.Type, classMember.Value, classMember.AccessModifier, classMember.NonAccessModifiers.ToArray());
                foreach (var annotation in classMember.Annotations.Where(x => !x.Package.IsParent("javax.persistence")))
                {
                    var an = new Annotation(annotation.Name, annotation.Package, annotation.Parameters.Values.ToArray());
                    cm.Annotations.Add(an);
                }
                ClassMembers.Add(cm);
            }
        }
Ejemplo n.º 8
0
        public void Replace(string name, ClassMember classMember)
        {
            for (int i = 0; i < ClassMembers.Count; i++)
            {
                if (ClassMembers[i].Name == name)
                {
                    classMember.Owner = ClassMembers[i].Owner;

                    GetterFunctions.Remove(GetterFunctions.First(x => x.ClassMember.Name == ClassMembers[i].Name));
                    SetterFunctions.Remove(SetterFunctions.First(x => x.ClassMember.Name == ClassMembers[i].Name));
                    ClassMembers.RemoveAt(i);
                    GetterFunctions.Insert(i, new GetterFunction(classMember));
                    SetterFunctions.Insert(i, new SetterFunction(classMember));
                    ClassMembers.Insert(i, classMember);

                    break;
                }
            }
        }
Ejemplo n.º 9
0
        void AddMethod(string methodName, string classId, string classNamespace = null, string className = null)
        {
            string fullClassName;

            if (classId != null)
            {
                fullClassName = classIdsToClassNames [classId];
            }
            else
            {
                fullClassName = GetFullClassName(classNamespace, className);
            }

            ClassMembers members = classNamesToClassMembers [fullClassName];

            if (members.methods == null)
            {
                members.methods = new HashSet <string> ();
            }
            members.methods.Add(methodName);
        }
Ejemplo n.º 10
0
        public EntityConstraintsClass(Table table, string module)
        {
            Table              = table;
            Name               = Table.SafeName.ToPascalCase() + "Constraints";
            Package            = $@"havelsan.kovan.{module}.common.constraints";
            NonAccessModifiers = new List <NonAccessModifier> {
                NonAccessModifier.Abstract
            };

            ClassMembers.Add(CreatePublicStaticFinalString("TABLE_NAME", Table.Name));
            IfPresent(Table.Sequence, ts => CreatePublicStaticFinalString("SEQ_NAME", ts.Name));

            ClassMembers
            .AddRange(Table.Columns.Select(x => CreatePublicStaticFinalString($@"COLUMN_{x.Name}", x.Name)))
            .AddRange(Table.UniqueContraints.Select(x => CreatePublicStaticFinalString($@"{(x.Name.StartsWith("UX_") ? x.Name : "UX_" + x.Name)}", x.Name)))
            .AddRange(Table.Columns.Where(x => x.Size != null).SelectMany(x =>
            {
                var list = new List <ClassMember>();
                x.Size.Min.IfPresent(min => list.Add(CreatePublicStaticFinalInt($@"{x.Name}_SIZE_MIN", min)));
                x.Size.Max.IfPresent(max => list.Add(CreatePublicStaticFinalInt($@"{x.Name}_SIZE_MAX", max)));
                return(list);
            }));
        }
Ejemplo n.º 11
0
        void AddClass(string classNamespace, string className, string classId, bool keepAllFields = false)
        {
            string prefixToRemove = "g_";

            if (classNamespace.StartsWith(prefixToRemove))
            {
                classNamespace = classNamespace.Substring(prefixToRemove.Length);
            }
            string suffixToRemove = "NS";

            if (classNamespace.EndsWith(suffixToRemove))
            {
                classNamespace = classNamespace.Substring(0, classNamespace.Length - suffixToRemove.Length);
            }
            string fullClassName = null;

            if ((classNamespace != "NULL") && (className != "NULL"))
            {
                if (!namespaceDictionary.ContainsKey(classNamespace))
                {
                    Log.LogError("Unknown namespace: " + classNamespace);
                }
                fullClassName = namespaceDictionary [classNamespace] + "." + className;
                if ((classId != null) && (classId != "NoClass"))
                {
                    classIdsToClassNames [classId] = fullClassName;
                }
                ClassMembers members;
                if (!classNamesToClassMembers.TryGetValue(fullClassName, out members))
                {
                    members = new ClassMembers();
                    classNamesToClassMembers [fullClassName] = members;
                }
                members.keepAllFields |= keepAllFields;
            }
        }
Ejemplo n.º 12
0
 public ClassMember GetStaticMemberByValue(object value)
 {
     return(ClassMembers.FirstOrDefault(x => x.NonAccessModifiers.Contains(Static) && x.Value == value));
 }
Ejemplo n.º 13
0
 public ClassMember GetStaticMember(string name) => ClassMembers.GetStaticMember(name);
Ejemplo n.º 14
0
        void OutputXml(string iLLinkTrimXmlFilePath, string outputFileName)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(iLLinkTrimXmlFilePath);
            XmlNode linkerNode   = doc ["linker"];
            XmlNode assemblyNode = linkerNode ["assembly"];

            foreach (string typeName in classNamesToClassMembers.Keys)
            {
                XmlNode      typeNode     = doc.CreateElement("type");
                XmlAttribute typeFullName = doc.CreateAttribute("fullname");
                typeFullName.Value = typeName;
                typeNode.Attributes.Append(typeFullName);

                ClassMembers members = classNamesToClassMembers [typeName];

                // We need to keep everyting in System.Runtime.InteropServices.WindowsRuntime and
                // System.Threading.Volatile.
                if (!typeName.StartsWith("System.Runtime.InteropServices.WindowsRuntime") &&
                    !typeName.StartsWith("System.Threading.Volatile"))
                {
                    if (members.keepAllFields)
                    {
                        XmlAttribute preserve = doc.CreateAttribute("preserve");
                        preserve.Value = "fields";
                        typeNode.Attributes.Append(preserve);
                    }
                    else if ((members.fields == null) && (members.methods == null))
                    {
                        XmlAttribute preserve = doc.CreateAttribute("preserve");
                        preserve.Value = "nothing";
                        typeNode.Attributes.Append(preserve);
                    }

                    if (!members.keepAllFields && (members.fields != null))
                    {
                        foreach (string field in members.fields)
                        {
                            XmlNode      fieldNode = doc.CreateElement("field");
                            XmlAttribute fieldName = doc.CreateAttribute("name");
                            fieldName.Value = field;
                            fieldNode.Attributes.Append(fieldName);
                            typeNode.AppendChild(fieldNode);
                        }
                    }

                    if (members.methods != null)
                    {
                        foreach (string method in members.methods)
                        {
                            XmlNode      methodNode = doc.CreateElement("method");
                            XmlAttribute methodName = doc.CreateAttribute("name");
                            methodName.Value = method;
                            methodNode.Attributes.Append(methodName);
                            typeNode.AppendChild(methodNode);
                        }
                    }
                }
                assemblyNode.AppendChild(typeNode);
            }
            doc.Save(outputFileName);
        }
Ejemplo n.º 15
0
 public ClassMember GetStaticMemberByValue(object value) => ClassMembers.GetStaticMemberByValue(value);
        public override string ExecFeed(object objPackage)
        {
            ClassFormatParams clsPackage = new ClassFormatParams();

            clsPackage = (AutoFeedParams.ClassFormatParams)objPackage;
            objPackage = null;

            string PROCEDURE_NAME = "ExecFeed";

            //SqlDataReader drJobDescription = null;
            DataTable dt = new DataTable();

            dt = clsPackage.Data;
            //clsPackage.Guid = base.StripTheHTML(clsPackage.Guid);

            int intClientID   = 0;
            int intAutoFeedID = clsPackage.AutoFeedID;

            ClassXMLSettings      clsXML    = new ClassXMLSettings();
            ClassMembers          clsMems   = new ClassMembers();
            ClassFormatJobsParams clsParams = new ClassFormatJobsParams();

            clsParams.IsTest = (clsPackage.ParamUsed.Contains("TEST") && (ClassStaticData.Debug == true));
            ClassFormatJobs clsFormat = new ClassFormatJobs(clsPackage.EmediaID, clsParams);

            clsFormat.PropProcessGuid = clsPackage.Guid;
            clsParams = null;
            StringBuilder sb = new StringBuilder();
            StringBuilder sbJobDescription = new StringBuilder();

            const string SECTION_NAME = "HOSPITALITY_ONLINE";

            int intJobAction   = 0;
            int intReqEmediaID = 0;
            int intReqID       = 0;

            string strHeader       = string.Empty;
            string strRequirements = string.Empty;
            string strDuties       = string.Empty;
            string strFooter       = string.Empty;
            string strChildMedia   = string.Empty;

            string strApplyURL            = string.Empty;
            string strImgTrack            = string.Empty;
            string strHistoricFileName    = string.Empty;
            string strJobAction           = string.Empty;
            string strPostMethod          = string.Empty;
            string strAppendingURL        = string.Empty;
            string strKeepDeliveryAddress = string.Empty;
            string strXMLEncoding         = string.Empty;
            string strExternalSourceID    = string.Empty;
            string strCompensation        = string.Empty;
            string strContactEmail        = string.Empty;
            string strAPIUser             = string.Empty;
            string strAPIKey       = string.Empty;
            string strTitle        = string.Empty;
            string strPostingParam = string.Empty;

            bool blnIsScraped = false;

            int intRows     = 0;
            int intAdds     = 0;
            int intUpdates  = 0;
            int intDeletes  = 0;
            int intJobCount = 0;

            try
            {
                XmlDocument doc     = new XmlDocument();
                XmlNode     docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);

                doc.AppendChild(docNode);
                XmlNode HodesNode = doc.CreateElement("HODES_XML_ENVELOPE");
                doc.AppendChild(HodesNode);

                while (intRows < dt.Rows.Count) //for (int intRows = 0; intRows < dt.Rows.Count; intRows += 1)
                {
                    intJobCount   += 1;
                    intReqEmediaID = Convert.ToInt32(dt.Rows[intRows]["req_emediaid"]);
                    intReqID       = Convert.ToInt32(dt.Rows[intRows]["requisition_id"]);
                    intClientID    = Convert.ToInt32(dt.Rows[intRows]["ClientID"]);
                    strAPIUser     = clsXML.GetXMLSettings(SECTION_NAME, "API_USER_C_" + intClientID.ToString(), string.Empty);
                    strAPIKey      = clsXML.GetXMLSettings(SECTION_NAME, "API_KEY_C_" + intClientID.ToString(), string.Empty);

                    if (clsMems.IsNumeric(dt.Rows[intRows]["low_base_compensation"].ToString()) && clsMems.IsNumeric(dt.Rows[intRows]["high_base_compensation"].ToString()))
                    {
                        strCompensation = dt.Rows[intRows]["low_base_compensation"].ToString() + " - " + dt.Rows[intRows]["high_base_compensation"].ToString();
                    }
                    else
                    {
                        strCompensation = string.Empty;
                    }

                    if (strKeepDeliveryAddress.Length == 0)
                    {
                        strKeepDeliveryAddress = clsPackage.DeliveryAddress;
                    }

                    clsPackage.DeliveryAddress = string.Empty;

                    switch (dt.Rows[intRows]["JobAction"].ToString())
                    {
                    case "A":
                        //strAppendingURL = @"/v1/jobs";
                        clsPackage.DeliveryAddress = strKeepDeliveryAddress; // + strAppendingURL;
                        strPostMethod       = "POST";
                        strJobAction        = "ADD";
                        strHistoricFileName = clsPackage.FileName;
                        intJobAction        = (int)ClassStaticData.FileMode.NormalFileMode;

                        intAdds += 1;
                        break;

                    case "U":
                        //strAppendingURL = @"/v1/jobs/partner-job-id=" + intReqEmediaID.ToString();
                        clsPackage.DeliveryAddress = strKeepDeliveryAddress; // + strAppendingURL;
                        strPostMethod       = "POST";
                        strJobAction        = "EDIT";                        // This format uses EDIT instead of UPDATE.
                        strHistoricFileName = clsPackage.FileName;
                        intJobAction        = (int)ClassStaticData.FileMode.UpdateFileMode;

                        intUpdates += 1;
                        break;

                    case "D":
                        //strAppendingURL = @"/v1/jobs/partner-job-id=" + intReqEmediaID.ToString();
                        clsPackage.DeliveryAddress = strKeepDeliveryAddress; // + strAppendingURL;
                        strPostMethod       = "POST";
                        strJobAction        = "DELETE";
                        strHistoricFileName = clsPackage.FileName;
                        intJobAction        = (int)ClassStaticData.FileMode.DeleteFileMode;

                        intDeletes += 1;
                        break;
                    }

                    if (strJobAction == "ADD")
                    {
                        /*************************************************************************/
                        //Always get job description and tracking information first.
                        /*************************************************************************/
                        DataTable dtJobDescription = clsData.GetDescriptionDT(intReqID, intReqEmediaID);
                        DataRow   drJobDescription = dtJobDescription.Rows[0];

                        //drJobDescription.Read();
                        strChildMedia   = drJobDescription["ChildMedia"].ToString();
                        blnIsScraped    = Convert.ToBoolean(drJobDescription["IsScraped"]);
                        strTitle        = clsFormat.GetDynamicRsFieldValue(dt.Rows[intRows]["title"].ToString(), dt.Rows[intRows]["title"].GetType().ToString(), "TITLE", 59, intReqID, clsPackage.EmediaID, ClassStaticData.MASTER_SOURCE, clsPackage.ParamUsed, CLASS_NAME, blnIsScraped);
                        strHeader       = clsFormat.GetDynamicRsFieldValue(drJobDescription["header"].ToString(), drJobDescription["header"].GetType().ToString(), "HEADER", 59, intReqID, clsPackage.EmediaID, ClassStaticData.MASTER_SOURCE, clsPackage.ParamUsed, CLASS_NAME, blnIsScraped);
                        strRequirements = clsFormat.GetDynamicRsFieldValue(drJobDescription["requirements"].ToString(), drJobDescription["requirements"].GetType().ToString(), "REQUIREMENTS", 59, intReqID, clsPackage.EmediaID, ClassStaticData.MASTER_SOURCE, clsPackage.ParamUsed, CLASS_NAME, blnIsScraped);
                        strDuties       = clsFormat.GetDynamicRsFieldValue(drJobDescription["duties"].ToString(), drJobDescription["duties"].GetType().ToString(), "DUTIES", 59, intReqID, clsPackage.EmediaID, ClassStaticData.MASTER_SOURCE, clsPackage.ParamUsed, CLASS_NAME, blnIsScraped);
                        strFooter       = clsFormat.GetDynamicRsFieldValue(drJobDescription["footer"].ToString(), drJobDescription["footer"].GetType().ToString(), "FOOTER", 59, intReqID, clsPackage.EmediaID, ClassStaticData.MASTER_SOURCE, clsPackage.ParamUsed, CLASS_NAME, blnIsScraped);
                        //drJobDescription.Close();
                        dtJobDescription.Dispose();
                        dtJobDescription = null;
                        drJobDescription = null;

                        strApplyURL = clsMems.GetDirectURL(intReqEmediaID.ToString(), Convert.ToByte(dt.Rows[intRows]["apply_statement_indicator"]), dt.Rows[intRows]["url_address"].ToString(), false, clsPackage.EmediaID);
                        strImgTrack = string.Empty;
                        clsFormat.GetMediaTracking(intReqEmediaID, Convert.ToBoolean(dt.Rows[intRows]["Provisioned"]), Convert.ToBoolean(dt.Rows[intRows]["MediaTracking"]), ref strApplyURL, ref strImgTrack);
                        /*************************************************************************/

                        sbJobDescription.Append(clsFormat.ParagraphFields(strHeader, strRequirements, strDuties, strFooter) + strImgTrack);
                    }

                    XmlNode JobNumber = doc.CreateElement("Job_" + intJobCount.ToString());
                    HodesNode.AppendChild(JobNumber);

                    XmlNode ReqEmID = doc.CreateElement("ReqEmediaID");
                    ReqEmID.AppendChild(doc.CreateTextNode(intReqEmediaID.ToString()));
                    JobNumber.AppendChild(ReqEmID);

                    XmlNode ReqID = doc.CreateElement("ReqID");
                    ReqID.AppendChild(doc.CreateTextNode(intReqID.ToString()));
                    JobNumber.AppendChild(ReqID);

                    XmlNode JobAction = doc.CreateElement("JobAction");
                    JobAction.AppendChild(doc.CreateTextNode(strJobAction));
                    JobNumber.AppendChild(JobAction);

                    XmlNode PostMethod = doc.CreateElement("PostMethod");
                    PostMethod.AppendChild(doc.CreateTextNode(strPostMethod));
                    JobNumber.AppendChild(PostMethod);

                    XmlNode AppendingURL = doc.CreateElement("AppendingURL");
                    AppendingURL.AppendChild(doc.CreateCDataSection(strAppendingURL));
                    JobNumber.AppendChild(AppendingURL);

                    XmlNode PostingParam = doc.CreateElement("PostingParam");
                    PostingParam.AppendChild(doc.CreateTextNode("job="));
                    JobNumber.AppendChild(PostingParam);

                    XmlNode ActualJob = doc.CreateElement("ActualJob");
                    JobNumber.AppendChild(ActualJob);

                    XmlNode jobNode = doc.CreateElement("job");
                    ActualJob.AppendChild(jobNode);

                    XmlNode api_user = doc.CreateElement("api_user");
                    api_user.AppendChild(doc.CreateTextNode(strAPIUser));
                    jobNode.AppendChild(api_user);

                    XmlNode api_key = doc.CreateElement("api_key");
                    api_key.AppendChild(doc.CreateTextNode(strAPIKey));
                    jobNode.AppendChild(api_key);

                    XmlNode id = doc.CreateElement("id");
                    id.AppendChild(doc.CreateTextNode(intReqEmediaID.ToString()));
                    jobNode.AppendChild(id);

                    XmlNode title = doc.CreateElement("title");
                    title.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["title"].ToString()));
                    jobNode.AppendChild(title);

                    XmlNode action = doc.CreateElement("action");
                    action.AppendChild(doc.CreateTextNode(strJobAction));
                    jobNode.AppendChild(action);

                    XmlNode categories = doc.CreateElement("categories");
                    categories.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["function_map"].ToString()));
                    jobNode.AppendChild(categories);

                    XmlNode ismanagement = doc.CreateElement("is_management");
                    ismanagement.AppendChild(doc.CreateTextNode(dt.Rows[intRows]["is_management"].ToString()));
                    jobNode.AppendChild(ismanagement);

                    XmlNode compensation = doc.CreateElement("compensation_range");
                    compensation.AppendChild(doc.CreateCDataSection(strCompensation));
                    jobNode.AppendChild(compensation);

                    XmlNode descriptionNode = doc.CreateElement("description");
                    descriptionNode.AppendChild(doc.CreateCDataSection(sbJobDescription.ToString()));
                    jobNode.AppendChild(descriptionNode);

                    XmlNode requirementsNode = doc.CreateElement("requirements");
                    requirementsNode.AppendChild(doc.CreateCDataSection(string.Empty));
                    jobNode.AppendChild(requirementsNode);

                    XmlNode applyUrlNode = doc.CreateElement("apply_url");
                    applyUrlNode.AppendChild(doc.CreateCDataSection(strApplyURL));
                    jobNode.AppendChild(applyUrlNode);

                    XmlNode locationNode = doc.CreateElement("location");

                    XmlNode locationid = doc.CreateElement("id");
                    locationid.AppendChild(doc.CreateTextNode(dt.Rows[intRows]["location_id"].ToString()));
                    locationNode.AppendChild(locationid);

                    XmlNode namenode = doc.CreateElement("name");
                    namenode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["hotel_name"].ToString()));
                    locationNode.AppendChild(namenode);

                    XmlNode addressnode = doc.CreateElement("address");
                    addressnode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["hotel_address"].ToString()));
                    locationNode.AppendChild(addressnode);

                    XmlNode citynode = doc.CreateElement("city");
                    citynode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["hotel_city"].ToString()));
                    locationNode.AppendChild(citynode);

                    XmlNode statenode = doc.CreateElement("state_or_province");
                    statenode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["hotel_state"].ToString()));
                    locationNode.AppendChild(statenode);

                    XmlNode zipnode = doc.CreateElement("postal_code");
                    zipnode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["hotel_zip"].ToString()));
                    locationNode.AppendChild(zipnode);

                    XmlNode countrynode = doc.CreateElement("country_id");
                    countrynode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["hotel_country"].ToString()));
                    locationNode.AppendChild(countrynode);

                    XmlNode phonenode = doc.CreateElement("telephone");
                    phonenode.AppendChild(doc.CreateCDataSection(string.Empty));
                    locationNode.AppendChild(phonenode);

                    XmlNode brand_id = doc.CreateElement("brand_id");
                    brand_id.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["brand_id"].ToString()));
                    locationNode.AppendChild(brand_id);

                    XmlNode url = doc.CreateElement("url");
                    url.AppendChild(doc.CreateCDataSection(string.Empty));
                    locationNode.AppendChild(url);

                    XmlNode hotel_profile = doc.CreateElement("description");
                    hotel_profile.AppendChild(doc.CreateCDataSection(string.Empty));
                    locationNode.AppendChild(hotel_profile);

                    jobNode.AppendChild(locationNode);

                    XmlNode userNode = doc.CreateElement("user");

                    XmlNode useremail = doc.CreateElement("email");
                    useremail.AppendChild(doc.CreateTextNode(dt.Rows[intRows]["user_email"].ToString()));
                    userNode.AppendChild(useremail);

                    XmlNode firstnamenode = doc.CreateElement("first_name");
                    firstnamenode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["user_first"].ToString()));
                    userNode.AppendChild(firstnamenode);

                    XmlNode lastnamenode = doc.CreateElement("last_name");
                    lastnamenode.AppendChild(doc.CreateCDataSection(dt.Rows[intRows]["user_last"].ToString()));
                    userNode.AppendChild(lastnamenode);

                    XmlNode usertitle = doc.CreateElement("title");
                    usertitle.AppendChild(doc.CreateCDataSection(string.Empty));
                    userNode.AppendChild(usertitle);

                    XmlNode usertelephone = doc.CreateElement("telephone");
                    usertelephone.AppendChild(doc.CreateCDataSection(string.Empty));
                    userNode.AppendChild(usertelephone);

                    jobNode.AppendChild(userNode);

                    if (clsData.SetProcessedData(intReqEmediaID, clsPackage.Guid, intAutoFeedID, intJobAction, strHistoricFileName, clsPackage.ParamUsed, clsPackage.UserID, clsPackage.OverrideAddress, clsPackage.RunType, clsPackage.EmediaID, intClientID, clsPackage.SubID, clsPackage.Machine, clsPackage.HodesFeed, clsPackage.TotalJobCount, clsPackage.UsesSlotQty, clsPackage.DeliveryAddress, intAdds, intUpdates, intDeletes, intJobCount, strChildMedia, clsPackage.MultiFile) > 0)
                    {
                        intRows += 1;
                    }
                    else
                    {
                        ClassStaticData.EmailMessage(ClassStaticData.GetFromEmail, ClassStaticData.GetDevEmail, string.Empty, ClassStaticData.Msg_UnexpectedError + "|clsData.SetProcessedData returned 0.", "ProcessGuid: " + clsPackage.Guid + "\r\nAutoFeedID: " + clsPackage.AutoFeedID.ToString() + "\r\nFileName: " + clsPackage.FileName + "\r\nParamUsed: " + clsPackage.ParamUsed + "\r\nUserID: " + clsPackage.UserID.ToString() + "\r\nOverridAddress: " + clsPackage.OverrideAddress + "\r\nRunType: " + clsPackage.RunType.ToString() + "\r\nEmediaID: " + clsPackage.EmediaID + "\r\nSubID: " + clsPackage.SubID.ToString() + "\r\nMachine: " + clsPackage.Machine + "\r\nHodesFeed: " + clsPackage.HodesFeed.ToString() + "\r\nTotalJobCount: " + clsPackage.TotalJobCount.ToString() + "\r\nSource: " + CLASS_NAME + "\r\nProcedure: " + PROCEDURE_NAME + "\r\nclsData.SetProcessedData returned 0.\r\n\r\nErrorTime: " + System.DateTime.Now.ToLongTimeString());

                        string    strErrorSource  = "Error source: " + CLASS_NAME;
                        string    strErrorMessage = "clsData.SetProcessedData returned 0.|ORIGINAL_SOURCE" + CLASS_NAME + " --> Error occurred in " + CLASS_NAME + "." + PROCEDURE_NAME + "|REQEMEDIAID" + intReqEmediaID.ToString() + "|ERRORINFOError reported from: " + CLASS_NAME + "." + PROCEDURE_NAME + "|CLASSNAME" + CLASS_NAME + "|FEEDID" + clsPackage.AutoFeedID.ToString() + "|EMEDIAID" + clsPackage.EmediaID + "|ERRORLEVEL4|WRITESTOPLIGHT1|FILENAME" + clsPackage.FileName + "|PARAMUSED" + clsPackage.ParamUsed + "|PARAMTYPE67|PROCESSGUID" + clsPackage.Guid;
                        Exception ex = new Exception(strErrorMessage);
                        ex.Source = strErrorSource;

                        throw ex;
                    }
                } // for (int intRows = 0; intRows < dt.Rows.Count; intRows += 1)

                StringWriter sw = null;

                string strRetVal = string.Empty;

                if (intJobCount > 0)
                {
                    sw = new StringWriter();
                    XmlTextWriter xw = new XmlTextWriter(sw);
                    doc.WriteTo(xw);

                    if (clsData.UpdateXMLFeed(clsPackage.Guid, clsPackage.AutoFeedID, clsMems.GetUTF8ByteData(sw.ToString()), 0) > 0)
                    {
                        strRetVal = "true";
                    }
                    else
                    {
                        strRetVal = "false";
                    }
                }
                else
                {
                    strRetVal = "false";
                }

                sw.Dispose();
                sw = null;

                return(strRetVal);
            }
            catch (Exception ex)
            {
                ex.Data.Add("ORIGINAL_SOURCE", ex.Source + " --> Error occurred in " + CLASS_NAME + "." + PROCEDURE_NAME);
                ex.Data.Add("CLASSNAME", ex.TargetSite.DeclaringType.ToString());
                ex.Data.Add("ERRORINFO", "Error reported from: " + ex.TargetSite.DeclaringType.ToString() + "|" + ex.TargetSite.ToString());
                ex.Data.Add("REQEMEDIAID", intReqEmediaID.ToString());   // converted to string to avoid boxing.
                ex.Data.Add("REQUISITIONID", intReqID.ToString());       // converted to string to avoid boxing.
                ex.Data.Add("CLIENTID", intClientID.ToString());         // converted to string to avoid boxing.
                ex.Data.Add("SUBID", clsPackage.SubID.ToString());       // converted to string to avoid boxing.
                ex.Data.Add("FEEDID", clsPackage.AutoFeedID.ToString()); // converted to string to avoid boxing.
                ex.Data.Add("EMEDIAID", clsPackage.EmediaID);
                ex.Data.Add("ERRORLEVEL", "4");                          // converted to string to avoid boxing.
                ex.Data.Add("WRITESTOPLIGHT", "1");                      // converted to string to avoid boxing.
                ex.Data.Add("FILENAME", clsPackage.FileName);
                ex.Data.Add("PARAMUSED", clsPackage.ParamUsed);
                ex.Data.Add("PARAMTYPE", "58"); // converted to string to avoid boxing.
                ex.Data.Add("PROCESSGUID", clsPackage.Guid);

                ClassErrors clsErr = new ClassErrors(ex.Message, ex, ex.Source, ex.Data);

                try
                {
                    clsData.ReportError(clsErr.ErrorInfo, clsErr.Source, clsErr.Message, clsErr.LineNumber, clsErr.AfErrorNumber, clsErr.ErrorNumber, clsErr.ConnectionString, clsErr.Filename, clsErr.AutoFeedID, clsErr.EmediaID, clsErr.CIDList, clsErr.DeliveryType, clsErr.EmailAddress, clsErr.FTPAddress, clsErr.URLAddress, clsErr.LocalCopyAdddress, clsErr.ParamUsed, clsErr.RequisitionID, clsErr.ReqEmediaID, ClassStaticData.MachineName, clsErr.StoredProcedure, clsErr.ParamType, clsErr.ErrorLevel, clsErr.WriteStopLight, string.Empty, clsErr.UsesSubID, clsErr.SubID, clsErr.ProcessGuid, clsErr.GetStackTrace, clsErr.GetStackFrames, clsErr.InnerExceptionMessage, clsErr.ExceptionType, clsErr.ColumnNumber);
                }
                catch (Exception ex2)
                {
                    ClassStaticData.EmailMessage(ClassStaticData.GetFromEmail, ClassStaticData.GetDevEmail, string.Empty, ClassStaticData.Msg_UnexpectedError, "Original error follows:\r\n\r\nFrom: " + System.Reflection.Assembly.GetExecutingAssembly().ToString() + "\r\nConnectionString: " + ClassStaticData.MASTER_SOURCE + "\r\n\r\n" + "Error Message: " + ex.Message + "\r\n\r\n" + ex.Source + "\r\n\r\nNew error follows:\r\n" + ex2.Message + "\r\n" + ex2.Source + "\r\nNew error inner exception: " + ex2.InnerException + "\r\n" + "\r\n\r\nAdditional information follows:\r\nAutoFeedID: " + clsErr.AutoFeedID.ToString() + "\r\n\r\nEmediaID: " + clsErr.EmediaID + "\r\n\r\nCIDList: " + clsErr.CIDList + "\r\n\r\nErrorTime: " + System.DateTime.Now.ToLongTimeString());
                }
                return("false");
            }
            finally
            {
                if (clsFormat != null)
                {
                    clsFormat.Dispose();
                }

                clsFormat = null;

                if (clsXML != null)
                {
                    clsXML.Dispose();
                }

                clsXML = null;

                if (clsData != null)
                {
                    clsData.Dispose();
                }

                clsData = null;

                dt.Dispose();
                dt = null;
            }
        } // public override string ExecFeed(object objPackage)
Ejemplo n.º 17
0
 public ClassMember GetStaticMember(string name)
 {
     return(ClassMembers.FirstOrDefault(x => x.NonAccessModifiers.Contains(Static) && x.Name == name));
 }