Пример #1
0
        ///
        /// Create an user custom field.
        /// If the custom field already existed then update it.
        ///
        ///
        /// @param customFieldValue
        /// @return user custom field id
        /// @throws com.silanis.esl.sdk.EslException
        ///
        public CustomFieldValue SubmitCustomFieldValue(CustomFieldValue customFieldValue)
        {
            UserCustomField apiCustomFieldValue = customFieldValue.toAPIUserCustomField();

            apiCustomFieldValue = apiClient.SubmitCustomFieldValue(apiCustomFieldValue);
            return(CustomFieldValueBuilder.CustomFieldValue(apiCustomFieldValue).build());
        }
Пример #2
0
        ///
        /// Create an user custom field.
        /// If the custom field already existed then update it.
        ///
        ///
        /// @param customFieldValue
        /// @return user custom field id
        /// @throws com.silanis.esl.sdk.EslException
        ///
        public CustomFieldValue SubmitCustomFieldValue(CustomFieldValue customFieldValue)
        {
            UserCustomField apiCustomFieldValue = new CustomFieldValueConverter(customFieldValue).ToAPIUserCustomField();

            apiCustomFieldValue = apiClient.SubmitCustomFieldValue(apiCustomFieldValue);
            return(CustomFieldValueBuilder.CustomFieldValue(apiCustomFieldValue).build());
        }
Пример #3
0
        private void ProcessRowCell(UploadWizardCompleteModel model, CustomDataOrigin origin, Dictionary <int, CustomField> customFieldsDicitonary, int rowNum, DataRow row, Student student, ref bool successfulRow, ref int nonIdColumns, List <CustomFieldValue> rowCustomFieldValues, int i)
        {
            string fieldValue = row[i].ToString();

            if (!string.IsNullOrWhiteSpace(fieldValue))
            {
                nonIdColumns++;
                int integerTest;
                if (customFieldsDicitonary[i].CustomFieldType.Name.Equals("Integer") && !int.TryParse(fieldValue, out integerTest))
                {
                    successfulRow = false;
                    ProcessError(row, string.Format(CultureInfo.CurrentCulture, "Custom field {0} on row {1} is malformed", i + 1, rowNum + 2), model);
                }
                else
                {
                    DateTime dateTest;
                    if (customFieldsDicitonary[i].CustomFieldType.Name.Equals("Date") && !DateTime.TryParse(fieldValue, out dateTest))
                    {
                        successfulRow = false;
                        ProcessError(row, string.Format(CultureInfo.CurrentCulture, "Custom field {0} on row {1} is malformed", i + 1, rowNum + 2), model);
                    }
                    else
                    {
                        var value = new CustomFieldValue
                        {
                            CustomDataOriginId = origin.Id,
                            StudentId          = student.Id,
                            CustomFieldId      = customFieldsDicitonary[i].Id,
                            Value = fieldValue
                        };
                        rowCustomFieldValues.Add(value);
                    }
                }
            }
        }
Пример #4
0
        private IEnumerable <CustomFieldValue> GetNonPickListCustomFieldValues(IEnumerable <TmTranslationUnit> translationUnits, string name)
        {
            var customFieldValues   = new List <CustomFieldValue>();
            var distinctFieldValues = new List <string>();

            foreach (var tu in translationUnits)
            {
                foreach (var fieldValue in tu.FieldValues)
                {
                    if (fieldValue.Name.Equals(name))
                    {
                        var valueList = _tmService.GetMultipleStringValues(fieldValue.GetValueString(), fieldValue.ValueType);
                        foreach (var value in valueList)
                        {
                            var detailsItem = new CustomFieldValue
                            {
                                Value = value
                            };

                            distinctFieldValues.Add(detailsItem.Value);
                        }
                    }
                }
            }

            var distinctList = distinctFieldValues.Distinct().ToList();

            foreach (var value in distinctList)
            {
                customFieldValues.Add(new CustomFieldValue {
                    Value = value
                });
            }
            return(customFieldValues);
        }
        public override bool PerformAction(Assignment assignment, Person currentPerson)
        {
            bool result;

            try
            {
                CustomFieldValue customFieldValue = assignment.FieldValues.FindById(Convert.ToInt32(this.FieldSetting));
                if (customFieldValue != null && customFieldValue.SelectedValue.Trim() == this.TestValueSetting.Trim())
                {
                    foreach (AssignmentTypeWorker worker in assignment.AssignmentType.Workers)
                    {
                        if (worker.PersonID.ToString() == this.WorkerPersonSetting)
                        {
                            assignment.WorkerPersonId = worker.PersonID;
                            assignment.Save("SetWorkerAfterTestField", null);
                            NotifyNewWorker(assignment, currentPerson);
                            NotifyRequesterOfNewWorker(assignment, currentPerson);
                            break;
                        }
                    }
                }
                result = true;
            }
            catch (Exception ex)
            {
                assignment.AddNote("Exception", ex.Message, false, null, "SetWorkerAfterTestField");
                result = false;
            }
            return(result);
        }
        ///
        /// Builds the user custom field
        ///
        /// @return the user custom field
        ///
        public CustomFieldValue build()
        {
            CustomFieldValue result = new CustomFieldValue();
            result.Id = id;
            result.Value = value;

            return result;
        }
        ///
        /// Builds the user custom field
        ///
        /// @return the user custom field
        ///
        public CustomFieldValue build()
        {
			Support.LogMethodEntry();
            CustomFieldValue result = new CustomFieldValue();
            result.Id = id;
            result.Value = value;
			Support.LogMethodExit(result);
            return result;
        }
        ///
        /// Builds the user custom field
        ///
        /// @return the user custom field
        ///
        public CustomFieldValue build()
        {
            CustomFieldValue result = new CustomFieldValue();

            result.Id    = id;
            result.Value = value;

            return(result);
        }
Пример #9
0
        ///
        /// Builds the user custom field
        ///
        /// @return the user custom field
        ///
        public CustomFieldValue build()
        {
            Support.LogMethodEntry();
            CustomFieldValue result = new CustomFieldValue();

            result.Id    = id;
            result.Value = value;
            Support.LogMethodExit(result);
            return(result);
        }
Пример #10
0
        public void GivenACustomFieldValue_WhenDelete_ThenRemoveFromContext()
        {
            var item = new CustomFieldValue {
                Id = 1
            };

            Target.Remove(item);

            MockDbSet.AssertWasCalled(m => m.Remove(item));
        }
Пример #11
0
        public void GivenACustomFieldValue_WhenUpdate_ThenContextSetsModified()
        {
            var expected = new CustomFieldValue {
                Id = 1
            };

            Target.Update(expected);

            MockContext.AssertWasCalled(m => m.SetModified(expected));
        }
Пример #12
0
        public void GivenACustomFieldValue_WhenAdd_ThenAddToContext()
        {
            var expected = new CustomFieldValue {
                Id = 1
            };

            Target.Add(expected);

            MockDbSet.AssertWasCalled(m => m.Add(expected));
        }
Пример #13
0
 public EpicLink ReadValue(CustomFieldValue cf)
 {
     if (cf == null || cf.Values.IsNullOrEmpty())
     {
         return(null);
     }
     else
     {
         return(new EpicLink(cf.Values[0]));
     }
 }
Пример #14
0
 public StoryPoints ReadValue(CustomFieldValue cf)
 {
     if (cf == null || cf.Values.IsNullOrEmpty())
     {
         return(null);
     }
     else
     {
         return(new StoryPoints(decimal.Parse(cf.Values[0])));
     }
 }
Пример #15
0
 public SprintField ReadValue(CustomFieldValue cf)
 {
     if (cf == null || cf.Values.IsNullOrEmpty())
     {
         return(null);
     }
     else
     {
         return(new SprintField(cf.Values[0]));
     }
 }
        public List <CustomFieldValue> GetFieldValueList()
        {
            List <CustomFieldValue> result = new List <CustomFieldValue>();
            CustomFieldValue        field  = new CustomFieldValue {
                ValueName = "",
                Value     = this.Value,
                ValueType = typeof(string)
            };

            result.Add(field);
            return(result);
        }
        public void SetField(UserBase user, CustomField cf, object value)
        {
            var User             = _db.Users.Find(user.ID);
            CustomFieldValue cfv = new CustomFieldValue
            {
                UserBase    = user,
                CustomField = cf
            };

            SetValue(ref cfv, value);
            _db.CustomFieldValues.Add(cfv);
            _db.SaveChanges();
        }
Пример #18
0
        private string GetCustomFieldValue(string fieldName)
        {
            CustomFieldValue customField = SelectedVehicle.CustomFieldValues.FirstOrDefault(p => p.CustomFieldID == fieldName);

            if (customField == null)
            {
                Visibilities  = new BoundVisibilities();
                SelectedTrace = null;
                ShiftNames    = new BoundShiftNames();
                throw new Exception(String.Format(Resources.CustomFeildDoesNotExistInVehicleResourceErrorMessage, fieldName, SelectedVehicle.Name));
            }
            return(customField.Value);
        }
Пример #19
0
        public override bool PerformAction(Assignment assignment, Person currentPerson)
        {
            bool result;

            try
            {
                List <string> list = new List <string>();
                CommunicationType.ParseMergeFieldNames(list, this.SubjectSetting);
                CommunicationType.ParseMergeFieldNames(list, this.BodySetting);
                string text  = this.BodySetting;
                string text2 = this.SubjectSetting;
                string text3 = this.RecipientSetting;
                foreach (KeyValuePair <string, string> current in assignment.GetMergedValues(list, true))
                {
                    text  = text.Replace(current.Key, current.Value);
                    text2 = text2.Replace(current.Key, current.Value);
                    text3 = text3.Replace(current.Key, current.Value);
                }

                if (this.RecipientFieldSetting != string.Empty)
                {
                    CustomFieldValue customFieldValue = assignment.FieldValues.FindById(Convert.ToInt32(this.RecipientFieldSetting));
                    if (customFieldValue != null)
                    {
                        string text4 = customFieldValue.SelectedValue;
                        if (customFieldValue.FieldTypeAssemblyName.ToLower().Contains("personfield"))
                        {
                            try
                            {
                                Person person = new Person(Convert.ToInt32(customFieldValue.SelectedValue));
                                text4 = person.Emails.FirstActive;
                            }
                            catch
                            {
                            }
                        }
                        if (text4.Trim() != string.Empty)
                        {
                            text3 = ((text3 == string.Empty) ? text4 : (text3 + ";" + text4));
                        }
                    }
                }
                result = ArenaSendMail.SendMail(this.FromAddressSetting, this.FromNameSetting, text3, this.FromAddressSetting, this.CCSetting, this.BCCSetting, text2, text, string.Empty);
            }
            catch (Exception ex)
            {
                assignment.AddNote("Exception", ex.Message, false, null, "SendAssignmentEmail");
                result = false;
            }
            return(result);
        }
Пример #20
0
        private static IEnumerable <CustomFieldValue> GetPickListCustomFieldValues(FieldDefinition fieldDefinition)
        {
            var details = new List <CustomFieldValue>();

            foreach (var pickListItem in fieldDefinition.PicklistItems)
            {
                var detailsItem = new CustomFieldValue
                {
                    Value = pickListItem.Name
                };

                details.Add(detailsItem);
            }
            return(details);
        }
Пример #21
0
        public override bool PerformAction(Assignment assignment, Person currentPerson)
        {
            try
            {
                CustomFieldValue customField = assignment.FieldValues.FindById(Convert.ToInt32(FieldSetting));
                if (customField != null)
                {
                    if (customField.SelectedValue.Trim() != string.Empty)
                    {
                        assignment.WorkerPersonId = Int32.Parse(customField.SelectedValue.Trim());
                        assignment.Save("AssignFieldAsWorker", null);

                        AssignmentHistory history = new AssignmentHistory();
                        history.AssignmentId = assignment.AssignmentId;
                        history.Action       = "Assigned to " + assignment.Worker.FullName;
                        history.Save("AssignFieldAsWorker");

                        if (assignment.RequesterPersonId != -1 && Boolean.Parse(NotifyRequesterSetting))
                        {
                            AssignmentEntryRequesterEmail email = new AssignmentEntryRequesterEmail();
                            if (currentPerson != null && currentPerson.Emails.FirstActive != string.Empty)
                            {
                                email.Template.Sender      = currentPerson.FullName;
                                email.Template.SenderEmail = currentPerson.Emails.FirstActive;
                            }
                            email.Send(assignment);
                        }

                        if (assignment.WorkerPersonId != -1 && Boolean.Parse(NotifyWorkerSetting))
                        {
                            AssignmentEntryWorkerEmail email = new AssignmentEntryWorkerEmail();
                            if (currentPerson != null && currentPerson.Emails.FirstActive != string.Empty)
                            {
                                email.Template.Sender      = currentPerson.FullName;
                                email.Template.SenderEmail = currentPerson.Emails.FirstActive;
                            }
                            email.Send(assignment);
                        }
                    }
                }
                return(true);
            }
            catch (System.Exception ex)
            {
                assignment.AddNote("Exception", ex.Message, false, null, "AssignFieldAsWorker");
                return(false);
            }
        }
Пример #22
0
        // GET: Cart
        public ActionResult CheckAmount()
        {
            List <CartItem>   cartItems  = (List <CartItem>)Session["cartItems"];
            List <CartViewVM> cartViewVM = new List <CartViewVM>();
            double            Total      = 0;

            if (cartItems != null)
            {
                foreach (CartItem item in cartItems)
                {
                    List <ItemCustomField> ItemCF = item.ItemCustomFields;

                    Item tmp_item = db.Item.Where(x => x.ItemID == item.ItemID)
                                    .FirstOrDefault();
                    CartViewVM cartVM = new CartViewVM(tmp_item);
                    cartVM.Key      = item.Key;
                    cartVM.QTY      = item.Qty;
                    cartVM.SubTotal = cartVM.QTY * cartVM.ItemPrice;

                    if (item.ItemCustomFields != null)
                    {
                        double addPrice = 0;
                        cartVM.ItemCustomFieldName = new List <ItemCustomFieldName>();
                        foreach (ItemCustomField icf in ItemCF)
                        {
                            CustomField         tmp_cf   = db.CustomField.Where(x => x.CustomFieldID == icf.CustomFieldID).FirstOrDefault();
                            CustomFieldValue    tmp_cfv  = db.CustomFieldValue.Where(x => x.CustomFieldValueID == icf.CustomFieldValueID).FirstOrDefault();
                            ItemCustomFieldName item_cfn = new ItemCustomFieldName(tmp_cf, tmp_cfv);

                            if (item_cfn != null)
                            {
                                cartVM.ItemCustomFieldName.Add(item_cfn);
                                if (item_cfn.AdditionalPrice > 0)
                                {
                                    addPrice += item_cfn.AdditionalPrice;
                                }
                            }
                        }
                        cartVM.SubTotal += (cartVM.QTY * addPrice);
                    }
                    Total += cartVM.SubTotal;
                    cartViewVM.Add(cartVM);
                }
            }
            ViewBag.Total = Total;
            return(View(cartViewVM));
        }
        public object GetValue(CustomFieldValue value)
        {
            Type t = GetDataType(value.CustomField);

            switch (t.ToString())
            {
            case "System.String": return(value.StringValue);

            case "System.Int32": return(value.IntValue);

            case "System.Decimal": return(value.DecimalValue);

            case "System.Double": return(value.DoubleValue);

            case "System.DateTime": return(value.DateTimeValue);

            default: return(null);
            }
        }
        public void SetValue(ref CustomFieldValue Field, object value)
        {
            Type t = GetDataType(Field.CustomField);

            switch (t.ToString())
            {
            case "System.String": { Field.StringValue = value as string; break; }

            case "System.Int32": { Field.IntValue = (int)value; break; }

            case "System.Decimal": { Field.DecimalValue = (decimal)value; break; }

            case "System.Double": { Field.DoubleValue = (double)value; break; }

            case "System.DateTime": { Field.DateTimeValue = (DateTime)value; break; }

            default: { break; }
            }
        }
Пример #25
0
     ///
      /// Create an user custom field.
      /// If the custom field already existed then update it.
      ///
      ///
      /// @param customFieldValue
      /// @return user custom field id
      /// @throws com.silanis.esl.sdk.EslException
      ///
     public CustomFieldValue SubmitCustomFieldValue( CustomFieldValue customFieldValue ) {
         string path = template.UrlFor(UrlTemplate.USER_CUSTOMFIELD_PATH).Build();
         string response;
 
         try {
         
             string payload = JsonConvert.SerializeObject(customFieldValue.toAPIUserCustomField(), settings);
             if ( DoesCustomFieldValueExist( customFieldValue.Id )){
                 response = client.Put(path,payload);
             }else{
                 response = client.Post(path, payload);
             }
             UserCustomField result = JsonConvert.DeserializeObject<UserCustomField>(response);
 
             return CustomFieldValueBuilder.CustomFieldValue( result ).build();
         } catch ( Exception e ) {
             throw new EslException( "Could not add/update the custom field to account." + e.Message );
         }
     }
        public override bool PerformAction(Assignment assignment, Person currentPerson)
        {
            try
            {
                // Find the custom field, then load the person.
                CustomFieldValue customField = assignment.FieldValues.FindById(int.Parse(FieldSetting));
                if (customField != null && customField.SelectedValue.Trim() != string.Empty)
                {
                    int personID = int.Parse(customField.SelectedValue.Trim());

                    PersonHistory history = new PersonHistory();
                    history.PersonID      = personID;
                    history.HistoryType   = new Lookup(SystemLookup.PersonHistoryType_User);
                    history.Text          = assignment.ResolutionText;
                    history.SystemHistory = false;
                    history.Save(int.Parse(OrganizationIDSetting), assignment.Worker.FullName);

                    Person            person            = new Person(personID);
                    AssignmentHistory assignmentHistory = new AssignmentHistory();
                    assignmentHistory.AssignmentId = assignment.AssignmentId;
                    assignmentHistory.Action       = "Resolution copied to " + person.FullName + " as a note";
                    assignmentHistory.Save("AddResolutionToPersonNote");

                    // This will let the worker view the person note:
                    history.ApplyPersonSecurity(assignment.WorkerPersonId, assignment.Worker.FullName);

                    // Now, we'll apply the security template if one was selected.
                    if (SecurityTemplateSetting != string.Empty)
                    {
                        history.ApplyTemplateSecurity(int.Parse(SecurityTemplateSetting));
                    }
                }

                return(true);
            }
            catch (System.Exception ex)
            {
                assignment.AddNote("Exception", ex.Message, false, null, "AssignRequesterAsWorker");
                return(false);
            }
        }
Пример #27
0
        ///
        /// Create an user custom field.
        /// If the custom field already existed then update it.
        ///
        ///
        /// @param customFieldValue
        /// @return user custom field id
        /// @throws com.silanis.esl.sdk.EslException
        ///
        public CustomFieldValue SubmitCustomFieldValue(CustomFieldValue customFieldValue)
        {
            string path = template.UrlFor(UrlTemplate.USER_CUSTOMFIELD_PATH).Build();
            string response;

            try {
                string payload = JsonConvert.SerializeObject(customFieldValue.toAPIUserCustomField(), settings);
                if (DoesCustomFieldValueExist(customFieldValue.Id))
                {
                    response = client.Put(path, payload);
                }
                else
                {
                    response = client.Post(path, payload);
                }
                UserCustomField result = JsonConvert.DeserializeObject <UserCustomField>(response);

                return(CustomFieldValueBuilder.CustomFieldValue(result).build());
            } catch (Exception e) {
                throw new EslException("Could not add/update the custom field to account." + e.Message);
            }
        }
Пример #28
0
        override public void Execute()
        {
            string customFieldId = Guid.NewGuid().ToString().Replace("-", "");

            Console.WriteLine("customer field ID = " + customFieldId);
            CustomField customField = eslClient.GetCustomFieldService()
                                      .CreateCustomField(CustomFieldBuilder.CustomFieldWithId(customFieldId)
                                                         .WithDefaultValue("#12345")
                                                         .WithTranslation(TranslationBuilder.NewTranslation("en").
                                                                          WithName("Player Number").
                                                                          WithDescription("The number on your team jersey"))
                                                         .WithTranslation(TranslationBuilder.NewTranslation("fr").
                                                                          WithName("Numéro du Joueur").
                                                                          WithDescription("Le numéro dans le dos de votre chandail d'équipe"))
                                                         .Build());

            CustomFieldValue customFieldValue = eslClient.GetCustomFieldService()
                                                .SubmitCustomFieldValue(CustomFieldValueBuilder.CustomFieldValueWithId(customField.Id)
                                                                        .WithValue("99")
                                                                        .build());

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("Sample Insurance policy")
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithFirstName("John")
                                                            .WithLastName("Smith"))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")
                                                              .FromStream(documentInputStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)
                                                                             .WithField(FieldBuilder.CustomField(customFieldValue.Id)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(400, 200))))
                                                .Build();
            PackageId packageId = eslClient.CreatePackage(superDuperPackage);

            eslClient.SendPackage(packageId);
        }
Пример #29
0
        // GET: Cart
        public ActionResult Index()
        {
            List <CartItem>   cartItems  = (List <CartItem>)Session["cartItems"];
            List <CartViewVM> cartViewVM = new List <CartViewVM>();

            if (cartItems != null)
            {
                foreach (CartItem item in cartItems)
                {
                    List <ItemCustomField> ItemCF = item.ItemCustomFields;

                    Item tmp_item = db.Item.Where(x => x.ItemID == item.ItemID)
                                    .FirstOrDefault();
                    CartViewVM cartVM = new CartViewVM(tmp_item);
                    cartVM.Key = item.Key;
                    cartVM.QTY = item.Qty;

                    if (item.ItemCustomFields != null)
                    {
                        cartVM.ItemCustomFieldName = new List <ItemCustomFieldName>();
                        foreach (ItemCustomField icf in ItemCF)
                        {
                            CustomField         tmp_cf   = db.CustomField.Where(x => x.CustomFieldID == icf.CustomFieldID).FirstOrDefault();
                            CustomFieldValue    tmp_cfv  = db.CustomFieldValue.Where(x => x.CustomFieldValueID == icf.CustomFieldValueID).FirstOrDefault();
                            ItemCustomFieldName item_cfn = new ItemCustomFieldName(tmp_cf, tmp_cfv);

                            if (item_cfn != null)
                            {
                                cartVM.ItemCustomFieldName.Add(item_cfn);
                            }
                        }
                    }

                    cartViewVM.Add(cartVM);
                }
            }
            return(View(cartViewVM));
        }
Пример #30
0
        public void FormBuilderSubmit()
        {
            string formBuilderGUID = "";

            formBuilderGUID = ProviderBase.Framework.Utility.GetFormValue <string>("FormBuilder_GUID", "");

            if (string.IsNullOrEmpty(formBuilderGUID) == false)
            {
                FormBuilder formBuilder = null;

                formBuilder = ProviderBase.Data.Providers.DataProvider.SelectSingle <FormBuilder>(new FormBuilder()
                {
                    GUID = new Guid(formBuilderGUID)
                }, this.Website.WebsiteConnection.ConnectionString);

                if (formBuilder?.FormBuilderID > 0)
                {
                    bool                    fieldSet                    = false;
                    int                     customFieldGroup            = 0;
                    List <object>           formBuilderSubmitObjectList = null;
                    List <CustomFieldValue> customFieldValueList        = null;

                    customFieldValueList        = new List <CustomFieldValue>();
                    formBuilderSubmitObjectList = new List <object>();

                    customFieldGroup = ProviderBase.Framework.Utility.GetFormValue <int>("CustomFieldGroupID", 0);

                    List <FormBuilderField> formBuilderFieldList = null;

                    formBuilderFieldList = ProviderBase.Data.Providers.DataProvider.Select <FormBuilderField>(new FormBuilderField()
                    {
                        FormBuilderID = formBuilder.FormBuilderID
                    }, this.Website.WebsiteConnection.ConnectionString);

                    if (formBuilderFieldList?.Count > 0)
                    {
                        List <string> listFieldProcessed = null;

                        listFieldProcessed = new List <string>();

                        foreach (FormBuilderField formBuilderField in formBuilderFieldList)
                        {
                            if (formBuilderField.TableDefinitionFieldID > 0)
                            {
                                TableDefinition      tableDefinition      = null;
                                TableDefinitionField tableDefinitionField = null;
                                object formBuilderSubmitObject            = null;
                                object formFieldValue = null;
                                bool   processField   = true;

                                tableDefinitionField = ProviderBase.Data.Providers.DataProvider.SelectSingle <TableDefinitionField>(new TableDefinitionField()
                                {
                                    TableDefinitionFieldID = formBuilderField.TableDefinitionFieldID
                                }, this.Website.WebsiteConnection.ConnectionString);

                                tableDefinition = ProviderBase.Data.Providers.DataProvider.SelectSingle <TableDefinition>(new TableDefinition()
                                {
                                    TableDefinitionID = tableDefinitionField.TableDefinitionID
                                }, this.Website.WebsiteConnection.ConnectionString);

                                if (tableDefinitionField?.TableDefinitionFieldID > 0)
                                {
                                    formFieldValue = ProviderBase.Framework.Utility.GetFormValue <object>(tableDefinitionField.FieldName, null);

                                    if (formFieldValue.ToString().ToLower() == "islist" && listFieldProcessed.Contains(tableDefinitionField.FieldName))
                                    {
                                        // Already processed this object list in one go
                                        // (may be on page mulitple times, it's a list)
                                        processField = false;
                                    }
                                }

                                if (processField)
                                {
                                    if (tableDefinition?.TableDefinitionID > 0)
                                    {
                                        Type submitObjectType = null;

                                        submitObjectType = Type.GetType(tableDefinition.AssemblyFullName);

                                        formBuilderSubmitObject = formBuilderSubmitObjectList.Where(x => x.GetType().Equals(submitObjectType)).SingleOrDefault <object>();

                                        if (formBuilderSubmitObject == null && formFieldValue.ToString().ToLower() == "islist")
                                        {
                                            List <object> listSubmitObject = null;

                                            listSubmitObject = formBuilderSubmitObjectList.Where(x => (x.GetType().IsGenericType)).ToList();

                                            formBuilderSubmitObject = listSubmitObject.Where(x => x.GetType().GetGenericArguments().Single().Equals(submitObjectType)).SingleOrDefault <object>();
                                        }

                                        if (formBuilderSubmitObject == null)
                                        {
                                            // If object still null
                                            formBuilderSubmitObject = Activator.CreateInstance(tableDefinition.AssemblyName, tableDefinition.AssemblyType).Unwrap();
                                        }
                                        else
                                        {
                                            formBuilderSubmitObjectList.Remove(formBuilderSubmitObject);
                                        }
                                    }

                                    if (tableDefinitionField?.TableDefinitionFieldID > 0)
                                    {
                                        IList formBuilderSubmitObjectListRepeat = null;

                                        object formBuilderSubmitObjectItem = null;
                                        int    index           = 0;
                                        int    repeatIndex     = 0;
                                        int    repeatItemIndex = 0;
                                        bool   isList          = false;
                                        bool   isListRetry     = false;

                                        do
                                        {
                                            object formFieldValueItem = null;

                                            if (formFieldValue != null)
                                            {
                                                if (formFieldValue.ToString().ToLower() == "islist")
                                                {
                                                    string fieldName = "";

                                                    if (ProviderBase.Data.Utility.IsList(formBuilderSubmitObject) == false)
                                                    {
                                                        formBuilderSubmitObjectItem = Activator.CreateInstance(tableDefinition.AssemblyName, tableDefinition.AssemblyType).Unwrap();

                                                        if (formBuilderSubmitObjectListRepeat == null)
                                                        {
                                                            Type listType = null;

                                                            listType = typeof(List <>).MakeGenericType(formBuilderSubmitObject.GetType());
                                                            formBuilderSubmitObjectListRepeat = (IList)Activator.CreateInstance(listType);
                                                        }
                                                    }
                                                    else if (formBuilderSubmitObjectListRepeat == null)
                                                    {
                                                        formBuilderSubmitObjectListRepeat = (IList)formBuilderSubmitObject;
                                                        formBuilderSubmitObjectItem       = formBuilderSubmitObjectListRepeat[index];
                                                    }

                                                    fieldName = tableDefinitionField.FieldName;
                                                    fieldName = fieldName + "_" + repeatIndex;

                                                    formFieldValueItem = ProviderBase.Framework.Utility.GetFormValue <object>(fieldName, null);

                                                    if (formFieldValueItem == null)
                                                    {
                                                        fieldName = fieldName + "_" + repeatItemIndex;

                                                        formFieldValueItem = ProviderBase.Framework.Utility.GetFormValue <object>(fieldName, null);

                                                        if (formFieldValueItem != null)
                                                        {
                                                            repeatIndex++;

                                                            isListRetry = false;
                                                        }
                                                        else
                                                        {
                                                            repeatIndex = 0;
                                                            repeatItemIndex++;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        repeatIndex++;
                                                    }

                                                    isList = true;
                                                }
                                                else
                                                {
                                                    formFieldValueItem          = formFieldValue;
                                                    formBuilderSubmitObjectItem = formBuilderSubmitObject;

                                                    isList = false;
                                                }

                                                if (formFieldValueItem != null)
                                                {
                                                    formFieldValueItem = ProviderBase.Data.Utility.ChangeTypeUsingTypeName(formFieldValueItem, tableDefinitionField.ObjectPropertyType);

                                                    if (formFieldValueItem != null)
                                                    {
                                                        PropertyInfo propertyInfo = null;

                                                        propertyInfo = ProviderBase.Data.Utility.GetDataProviderField(formBuilderSubmitObjectItem, tableDefinitionField.ObjectPropertyName);

                                                        if (propertyInfo != null)
                                                        {
                                                            propertyInfo.SetValue(formBuilderSubmitObjectItem, formFieldValueItem);

                                                            fieldSet = true;
                                                        }

                                                        if (tableDefinitionField.ObjectPropertyName.ToLower() == "externalreference")
                                                        {
                                                            formBuilderSubmitObjectItem = ProviderBase.Data.Providers.DataProvider.SelectSingle(formBuilderSubmitObjectItem, this.Website.WebsiteConnection.ConnectionString);
                                                        }
                                                    }
                                                }
                                                else
                                                {
                                                    // No value found
                                                    formBuilderSubmitObjectItem = null;

                                                    if (isListRetry)
                                                    {
                                                        formBuilderSubmitObjectItem = null;

                                                        isList = false;
                                                    }
                                                    else
                                                    {
                                                        isListRetry = true;
                                                    }
                                                }
                                            }

                                            index++;

                                            if (formBuilderSubmitObjectListRepeat != null && formBuilderSubmitObjectItem != null)
                                            {
                                                formBuilderSubmitObjectListRepeat.Add(formBuilderSubmitObjectItem);
                                            }
                                        } while (isList);

                                        if (formBuilderSubmitObjectListRepeat != null)
                                        {
                                            formBuilderSubmitObject = formBuilderSubmitObjectListRepeat;
                                        }
                                        else
                                        {
                                            formBuilderSubmitObject = formBuilderSubmitObjectItem;
                                        }
                                    }

                                    if (formBuilderSubmitObject != null)
                                    {
                                        formBuilderSubmitObjectList.Add(formBuilderSubmitObject);
                                    }

                                    if (formFieldValue.ToString().ToLower() == "islist")
                                    {
                                        listFieldProcessed.Add(tableDefinitionField.FieldName);
                                    }
                                }
                            }
                            else if (formBuilderField.CustomFieldItemID > 0)
                            {
                                CustomFieldItem  customFieldItem  = null;
                                CustomFieldValue customFieldValue = null;

                                customFieldItem = ProviderBase.Data.Providers.DataProvider.SelectSingle <CustomFieldItem>(new CustomFieldItem()
                                {
                                    CustomFieldItemID = formBuilderField.CustomFieldItemID
                                }, this.Website.WebsiteConnection.ConnectionString);

                                if (customFieldItem?.CustomFieldItemID > 0)
                                {
                                    string fieldValue = "";

                                    fieldValue = ProviderBase.Framework.Utility.GetFormValue <string>(customFieldItem.FieldName, "");

                                    customFieldValue = new CustomFieldValue();

                                    switch (customFieldItem.CustomFieldItemTypeID)
                                    {
                                    case CustomFieldItemType.Text:
                                    case CustomFieldItemType.Unassigned:
                                    default:
                                        customFieldValue.ValueText = fieldValue;
                                        break;

                                    case CustomFieldItemType.Int:
                                        customFieldValue.ValueInt = ProviderBase.Data.Utility.TryParse <int>(fieldValue);
                                        break;

                                    case CustomFieldItemType.Decimal:
                                        customFieldValue.ValueDecimal = ProviderBase.Data.Utility.TryParse <decimal>(fieldValue);
                                        break;

                                    case CustomFieldItemType.Boolean:
                                        customFieldValue.ValueBoolean = ProviderBase.Data.Utility.TryParse <bool>(fieldValue);
                                        break;

                                    case CustomFieldItemType.CustomFieldValue:
                                        throw new NotImplementedException();
                                    }

                                    customFieldValue.ValueDisplay      = fieldValue;
                                    customFieldValue.CustomFieldItemID = customFieldItem.CustomFieldItemID;

                                    customFieldValueList.Add(customFieldValue);
                                }
                            }
                        }
                    }

                    if (fieldSet)
                    {
                        bool actionTaken = true;
                        List <PropertyInfo> primaryKeyList       = null;
                        List <int>          processedObjectIndex = null;

                        processedObjectIndex = new List <int>();

                        primaryKeyList = ProviderBase.Data.Utility.GetDataProviderKeyTypeList(formBuilderSubmitObjectList, DataProviderKeyType.PrimaryKey, true);

                        while (actionTaken)
                        {
                            actionTaken = false;

                            // Object
                            for (int i = 0; i < formBuilderSubmitObjectList.Count; i++)
                            {
                                if (processedObjectIndex.Contains(i) == false)
                                {
                                    int  listIndex = -1;
                                    int  listCount = -1;
                                    bool isList    = false;

                                    do
                                    {
                                        List <PropertyInfo> foreignKeySubmitObject = null;
                                        object formBuilderSubmitObject             = null;

                                        if (ProviderBase.Data.Utility.IsList(formBuilderSubmitObjectList[i]))
                                        {
                                            IList formBuilderSubmitObjectTempList = null;

                                            isList = true;
                                            listIndex++;

                                            formBuilderSubmitObjectTempList = (IList)formBuilderSubmitObjectList[i];

                                            if (formBuilderSubmitObjectTempList != null && listIndex < formBuilderSubmitObjectTempList.Count)
                                            {
                                                formBuilderSubmitObject = formBuilderSubmitObjectTempList[listIndex];

                                                listCount = formBuilderSubmitObjectTempList.Count;
                                            }
                                        }
                                        else
                                        {
                                            formBuilderSubmitObject = formBuilderSubmitObjectList[i];
                                        }

                                        if (formBuilderSubmitObject != null)
                                        {
                                            bool processObject = true;

                                            foreignKeySubmitObject = ProviderBase.Data.Utility.GetDataProviderKeyTypeList(formBuilderSubmitObject, DataProviderKeyType.ForeignKey);

                                            if (primaryKeyList.Exists(x => foreignKeySubmitObject.Any(y => y.Name.Equals(x.Name))) == false)
                                            {
                                                PropertyInfo propertyInfoPrimaryKey = null;
                                                int          primaryKey             = 0;

                                                propertyInfoPrimaryKey = ProviderBase.Data.Utility.GetDataProviderKeyTypeSingle(formBuilderSubmitObject, DataProviderKeyType.PrimaryKey);

                                                if (propertyInfoPrimaryKey != null)
                                                {
                                                    int primaryKeyTemp = 0;

                                                    primaryKeyTemp = (int)propertyInfoPrimaryKey.GetValue(formBuilderSubmitObject);

                                                    if (primaryKeyTemp != 0)
                                                    {
                                                        // If object has primary key (non link object) must be 0
                                                        processObject = false;
                                                    }
                                                }

                                                if (processObject)
                                                {
                                                    foreach (PropertyInfo foreignKey in foreignKeySubmitObject)
                                                    {
                                                        object primaryKeyObject = null;

                                                        primaryKeyObject = ProviderBase.Data.Utility.GetDataProviderPrimaryKeyObject(formBuilderSubmitObjectList, foreignKey.Name);

                                                        if (primaryKeyObject == null && isList)
                                                        {
                                                            primaryKeyObject = ProviderBase.Data.Utility.GetDataProviderPrimaryKeyObjectList(formBuilderSubmitObjectList, foreignKey.Name, listIndex, listCount);
                                                        }

                                                        if (primaryKeyObject != null)
                                                        {
                                                            object       primaryKeyValue        = null;
                                                            PropertyInfo primaryKeyPropertyInfo = null;

                                                            primaryKeyPropertyInfo = ProviderBase.Data.Utility.GetDataProviderKeyTypeSingle(primaryKeyObject, DataProviderKeyType.PrimaryKey);

                                                            if (primaryKeyPropertyInfo != null)
                                                            {
                                                                primaryKeyValue = primaryKeyPropertyInfo.GetValue(primaryKeyObject);

                                                                foreignKey.SetValue(formBuilderSubmitObject, primaryKeyValue);
                                                            }
                                                        }
                                                    }

                                                    primaryKey = ProviderBase.Data.Providers.DataProvider.Insert(formBuilderSubmitObject, this.Website.WebsiteConnection.ConnectionString);

                                                    if (propertyInfoPrimaryKey != null)
                                                    {
                                                        propertyInfoPrimaryKey.SetValue(formBuilderSubmitObject, primaryKey);
                                                    }

                                                    primaryKeyList.Remove(propertyInfoPrimaryKey);
                                                    processedObjectIndex.Add(i);

                                                    actionTaken = true;
                                                }
                                            }
                                        }
                                        else
                                        {
                                            isList = false;
                                        }
                                    } while (isList);
                                }
                            }
                        }

                        // Custom Field
                        foreach (CustomFieldValue customFieldValue in customFieldValueList)
                        {
                            if (string.IsNullOrEmpty(customFieldValue.ValueDisplay) == false)
                            {
                                CustomFieldItem             customFieldItem         = null;
                                TableDefinition             tableDefinition         = null;
                                Type                        submitObjectType        = null;
                                object                      formBuilderSubmitObject = null;
                                Dictionary <string, string> fieldConvertList        = null;

                                customFieldItem = Data.Providers.DataProvider.SelectSingle <CustomFieldItem>(new CustomFieldItem()
                                {
                                    CustomFieldItemID = customFieldValue.CustomFieldItemID
                                }, this.Website.WebsiteConnection.ConnectionString);

                                tableDefinition = Data.Providers.DataProvider.SelectSingle <TableDefinition>(new TableDefinition()
                                {
                                    TableDefinitionID = customFieldItem.TableDefinitionID
                                }, this.Website.WebsiteConnection.ConnectionString);

                                submitObjectType = Type.GetType(tableDefinition.AssemblyFullName);

                                formBuilderSubmitObject = formBuilderSubmitObjectList.Where(x => x.GetType().Equals(submitObjectType)).SingleOrDefault <object>();

                                if (formBuilderSubmitObject != null)
                                {
                                    PropertyInfo propertyInfoPrimaryKey = null;

                                    propertyInfoPrimaryKey = ProviderBase.Data.Utility.GetDataProviderField(formBuilderSubmitObject, DataProviderKeyType.PrimaryKey);

                                    if (propertyInfoPrimaryKey != null)
                                    {
                                        object primaryKeyObject = null;

                                        primaryKeyObject = propertyInfoPrimaryKey.GetValue(formBuilderSubmitObject);

                                        customFieldValue.LinkID = (int)primaryKeyObject;

                                        fieldConvertList = new Dictionary <string, string>();
                                        fieldConvertList.Add("CustomFieldValueID", tableDefinition.ObjectName + "CustomFieldValueID");
                                        fieldConvertList.Add("LinkID", tableDefinition.ObjectName + "ID");

                                        customFieldValue.CustomFieldValueID = ProviderBase.Data.Providers.DataProvider.InsertOverrideTableField <CustomFieldValue>(customFieldValue, this.Website.WebsiteConnection.ConnectionString, tableDefinition.ObjectName + "CustomFieldValue_T", fieldConvertList);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                AjaxResult.Message = "No FormBuilder_GUID supplied";
                AjaxResult.Status  = AjaxResultStatus.Failed;
            }
        }
Пример #31
0
        override public void Execute()
        {
            // first custom field
            customFieldId1 = Guid.NewGuid().ToString().Replace("-", "");
            Console.WriteLine("customer field ID = " + customFieldId1);
            CustomField customField1 = ossClient.GetCustomFieldService()
                                       .CreateCustomField(CustomFieldBuilder.CustomFieldWithId(customFieldId1)
                                                          .WithDefaultValue(DEFAULT_VALUE)
                                                          .WithTranslation(TranslationBuilder.NewTranslation(ENGLISH_LANGUAGE)
                                                                           .WithName(ENGLISH_NAME)
                                                                           .WithDescription(ENGLISH_DESCRIPTION))
                                                          .WithTranslation(TranslationBuilder.NewTranslation(FRENCH_LANGUAGE)
                                                                           .WithName(FRENCH_NAME)
                                                                           .WithDescription(FRENCH_DESCRIPTION))
                                                          .Build());

            CustomFieldValue customFieldValue = ossClient.GetCustomFieldService()
                                                .SubmitCustomFieldValue(CustomFieldValueBuilder.CustomFieldValueWithId(customField1.Id)
                                                                        .WithValue(FIELD_VALUE1)
                                                                        .build());

            // Second custom field
            customFieldId2 = Guid.NewGuid().ToString().Replace("-", "");
            Console.WriteLine("customer field ID = " + customFieldId1);
            CustomField customField2 = ossClient.GetCustomFieldService()
                                       .CreateCustomField(CustomFieldBuilder.CustomFieldWithId(customFieldId2)
                                                          .WithDefaultValue("Red")
                                                          .WithTranslation(TranslationBuilder.NewTranslation("en").
                                                                           WithName("Jersey color").
                                                                           WithDescription("The color of your team jersey"))
                                                          .Build());

            CustomFieldValue customFieldValue2 = ossClient.GetCustomFieldService()
                                                 .SubmitCustomFieldValue(CustomFieldValueBuilder.CustomFieldValueWithId(customField2.Id)
                                                                         .WithValue(FIELD_VALUE2)
                                                                         .build());

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed(PackageName)
                                                .WithSigner(SignerBuilder.NewSignerWithEmail(email1)
                                                            .WithFirstName("John")
                                                            .WithLastName("Smith"))
                                                .WithDocument(DocumentBuilder.NewDocumentNamed(DOCUMENT_NAME)
                                                              .FromStream(fileStream1, DocumentType.PDF)
                                                              .WithSignature(SignatureBuilder.SignatureFor(email1)
                                                                             .OnPage(0)
                                                                             .AtPosition(100, 100)
                                                                             .WithField(FieldBuilder.CustomField(customFieldValue.Id)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(400, 200))
                                                                             .WithField(FieldBuilder.CustomField(customFieldValue2.Id)
                                                                                        .OnPage(0)
                                                                                        .AtPosition(400, 400))))
                                                .Build();

            packageId = ossClient.CreatePackage(superDuperPackage);
            ossClient.SendPackage(packageId);
            retrievedPackage = ossClient.GetPackage(packageId);

            // Get the entire list of custom field from account
            retrievedCustomFieldList1 = ossClient.GetCustomFieldService().GetCustomFields(Direction.ASCENDING);

            // Get a list of custom fields on page 1 sorted in ascending order by its id
            retrievedCustomFieldList2 = ossClient.GetCustomFieldService().GetCustomFields(Direction.ASCENDING, new PageRequest(1));

            // Get the first custom field from account
            retrievedCustomField = ossClient.GetCustomFieldService().GetCustomField(customFieldId1);

            // Delete the second custom field from account
            ossClient.GetCustomFieldService().DeleteCustomField(customFieldId2);

            // Get the entire list of user custom field from the user
            retrieveCustomFieldValueList1 = ossClient.GetCustomFieldService().GetCustomFieldValues();
            retrieveCustomFieldValue1     = ossClient.GetCustomFieldService().GetCustomFieldValue(customFieldId1);
            retrieveCustomFieldValue2     = ossClient.GetCustomFieldService().GetCustomFieldValue(customFieldId2);

            // Delete the second custom field from the user
            ossClient.GetCustomFieldService().DeleteCustomFieldValue(retrieveCustomFieldValueList1[1].Id);

            // Get the entire list of user custom field from the user
            retrieveCustomFieldValueList2 = ossClient.GetCustomFieldService().GetCustomFieldValues();
        }
Пример #32
0
        public ActionResult Checkout(OrderFormVM model)
        {
            string            userID     = User.Identity.GetUserId();
            List <CartItem>   cartItems  = (List <CartItem>)Session["cartItems"];
            List <CartViewVM> cartViewVM = new List <CartViewVM>();
            double            Total      = 0;

            if (cartItems != null)
            {
                Order order = new Order();
                order.OrderCreateDateTime = DateTime.Now;
                order.DeliverAddress      = model.Address;
                order.OrderDateTime       = model.OrderDateTime;
                //order.OrderDateTime = (DateTime)Session["OrderDateTime"];
                order.UserID = userID;
                db.Order.Add(order);
                //db.SaveChanges();

                foreach (CartItem item in cartItems)
                {
                    List <ItemCustomField> ItemCF = item.ItemCustomFields;

                    Item tmp_item = db.Item.Where(x => x.ItemID == item.ItemID)
                                    .FirstOrDefault();
                    CartViewVM cartVM = new CartViewVM(tmp_item);
                    cartVM.Key      = item.Key;
                    cartVM.QTY      = item.Qty;
                    cartVM.SubTotal = cartVM.QTY * cartVM.ItemPrice;

                    OrderDetail orderDetail = new OrderDetail();
                    orderDetail.Order  = order;
                    orderDetail.ItemID = item.ItemID;
                    orderDetail.Qty    = item.Qty;
                    db.OrderDetail.Add(orderDetail);

                    if (item.ItemCustomFields != null)
                    {
                        double addPrice = 0;
                        cartVM.ItemCustomFieldName = new List <ItemCustomFieldName>();
                        foreach (ItemCustomField icf in ItemCF)
                        {
                            CustomField         tmp_cf   = db.CustomField.Where(x => x.CustomFieldID == icf.CustomFieldID).FirstOrDefault();
                            CustomFieldValue    tmp_cfv  = db.CustomFieldValue.Where(x => x.CustomFieldValueID == icf.CustomFieldValueID).FirstOrDefault();
                            ItemCustomFieldName item_cfn = new ItemCustomFieldName(tmp_cf, tmp_cfv);

                            OrderDetailCustomField odcf = new OrderDetailCustomField();
                            odcf.OrderDetail          = orderDetail;
                            odcf.CustomFieldName      = tmp_cf.CustomFieldName;
                            odcf.CustomFieldValueName = tmp_cfv.CustomFieldValueName;
                            odcf.AdditionalPrice      = tmp_cfv.AdditionalPrice;
                            db.OrderDetailCustomField.Add(odcf);

                            if (item_cfn != null)
                            {
                                cartVM.ItemCustomFieldName.Add(item_cfn);
                                if (item_cfn.AdditionalPrice > 0)
                                {
                                    addPrice += item_cfn.AdditionalPrice;
                                }
                            }
                        }
                        cartVM.SubTotal += (cartVM.QTY * addPrice);
                    }

                    orderDetail.SubTotalAmount = cartVM.SubTotal;

                    Total      += cartVM.SubTotal;
                    order.Total = Total;
                    cartViewVM.Add(cartVM);
                }
                Session["cartItems"] = null;
                //Session.Remove("cartItems");
                db.SaveChanges();
            }
            ViewBag.Total          = Total;
            ViewBag.CheckoutStatus = "Checkout Success!";
            return(View());
        }
Пример #33
0
 private string SaveCustomValues(FormCollection collection, int key)
 {
     System.Text.StringBuilder result = new StringBuilder();
     IEnumerable<ErrorInfo> errorInfo;
     // Get all investor custom fields.
     List<CustomFieldDetail> customFields = AdminRepository.GetAllCustomFields((int)Models.Admin.Enums.Module.Investor);
     foreach (var field in customFields) {
         var customFieldValue = collection["CustomField_" + field.CustomFieldId.ToString()];
         if (customFieldValue != null) {
             // Attempt to create new custom field value.
             CustomFieldValue value = AdminRepository.FindCustomFieldValue(field.CustomFieldId, key);
             if (value == null) {
                 value = new CustomFieldValue();
                 value.CreatedBy = Authentication.CurrentUser.UserID;
                 value.CreatedDate = DateTime.Now;
             }
             value.CustomFieldID = field.CustomFieldId;
             value.Key = key;
             value.LastUpdatedBy = Authentication.CurrentUser.UserID;
             value.LastUpdatedDate = DateTime.Now;
             switch ((CustomFieldDataType)field.DataTypeId) {
                 case CustomFieldDataType.Integer:
                     value.IntegerValue = (string.IsNullOrEmpty(customFieldValue) ? 0 : Convert.ToInt32(customFieldValue));
                     break;
                 case CustomFieldDataType.DateTime:
                     value.DateValue = (string.IsNullOrEmpty(customFieldValue) ? Convert.ToDateTime("01/01/1900") : Convert.ToDateTime(customFieldValue));
                     break;
                 case CustomFieldDataType.Text:
                     value.TextValue = customFieldValue;
                     break;
                 case CustomFieldDataType.Currency:
                     value.CurrencyValue = (string.IsNullOrEmpty(customFieldValue) ? 0 : Convert.ToDecimal(customFieldValue));
                     break;
                 case CustomFieldDataType.Boolean:
                     value.BooleanValue = (customFieldValue.Contains("true") ? true : false);
                     break;
             }
             errorInfo = AdminRepository.SaveCustomFieldValue(value);
             if (errorInfo != null) {
                 result.Append(ValidationHelper.GetErrorInfo(errorInfo));
             }
         }
     }
     return result.ToString();
 }
    /// <summary>
    /// Run the code example.
    /// </summary>
    /// <param name="user">The DFP user object running the code example.</param>
    public override void Run(DfpUser user) {
      // Get the CustomFieldService.
      CustomFieldService customFieldService = (CustomFieldService) user.GetService(
          DfpService.v201508.CustomFieldService);

      // Get the LineItemService.
      LineItemService lineItemService = (LineItemService) user.GetService(
          DfpService.v201508.LineItemService);

      // Set the IDs of the custom fields, custom field option, and line item.
      long customFieldId = long.Parse(_T("INSERT_STRING_CUSTOM_FIELD_ID_HERE"));
      long customFieldOptionId = long.Parse(_T("INSERT_CUSTOM_FIELD_OPTION_ID_HERE"));
      long lineItemId = long.Parse(_T("INSERT_LINE_ITEM_ID_HERE"));

      try {
        // Get the drop-down custom field id.
        long dropDownCustomFieldId =
            customFieldService.getCustomFieldOption(customFieldOptionId).customFieldId;

        StatementBuilder statementBuilder = new StatementBuilder()
            .Where("id = :id")
            .OrderBy("id ASC")
            .Limit(1)
            .AddValue("id", lineItemId);

        // Get the line item.
        LineItemPage lineItemPage = lineItemService.getLineItemsByStatement(
            statementBuilder.ToStatement());
        LineItem lineItem = lineItemPage.results[0];

        // Create custom field values.
        List<BaseCustomFieldValue> customFieldValues = new List<BaseCustomFieldValue>();
        TextValue textValue = new TextValue();
        textValue.value = "Custom field value";

        CustomFieldValue customFieldValue = new CustomFieldValue();
        customFieldValue.customFieldId = customFieldId;
        customFieldValue.value = textValue;
        customFieldValues.Add(customFieldValue);

        DropDownCustomFieldValue dropDownCustomFieldValue = new DropDownCustomFieldValue();
        dropDownCustomFieldValue.customFieldId = dropDownCustomFieldId;
        dropDownCustomFieldValue.customFieldOptionId = customFieldOptionId;
        customFieldValues.Add(dropDownCustomFieldValue);

        // Only add existing custom field values for different custom fields than
        // the ones you are setting.
        if (lineItem.customFieldValues != null) {
          foreach (BaseCustomFieldValue oldCustomFieldValue in lineItem.customFieldValues) {
            if (!(oldCustomFieldValue.customFieldId == customFieldId)
                && !(oldCustomFieldValue.customFieldId == dropDownCustomFieldId)) {
              customFieldValues.Add(oldCustomFieldValue);
            }
          }
        }

        lineItem.customFieldValues = customFieldValues.ToArray();

        // Update the line item on the server.
        LineItem[] lineItems = lineItemService.updateLineItems(new LineItem[] {lineItem});

        if (lineItems != null) {
          foreach (LineItem updatedLineItem in lineItems) {
            List<String> customFieldValueStrings = new List<String>();
            foreach (BaseCustomFieldValue baseCustomFieldValue in lineItem.customFieldValues) {
              if (baseCustomFieldValue is CustomFieldValue
                  && ((CustomFieldValue) baseCustomFieldValue).value is TextValue) {
                customFieldValueStrings.Add("{ID: '" + baseCustomFieldValue.customFieldId
                    + "', value: '"
                    + ((TextValue) ((CustomFieldValue) baseCustomFieldValue).value).value
                    + "'}");
              } else if (baseCustomFieldValue is DropDownCustomFieldValue) {
                customFieldValueStrings.Add("{ID: '" + baseCustomFieldValue.customFieldId
                    + "', custom field option ID: '"
                    + ((DropDownCustomFieldValue) baseCustomFieldValue).customFieldOptionId
                    + "'}");
              }
            }
            Console.WriteLine("A line item with ID \"{0}\" set with custom field values \"{1}\".",
                updatedLineItem.id, string.Join(", ", customFieldValueStrings.ToArray()));
          }
        } else {
          Console.WriteLine("No line items were updated.");
        }
      } catch (Exception e) {
        Console.WriteLine("Failed to update line items. Exception says \"{0}\"", e.Message);
      }
    }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="user">The DFP user object running the code example.</param>
        public override void Run(DfpUser user)
        {
            // Get the CustomFieldService.
            CustomFieldService customFieldService = (CustomFieldService)user.GetService(
                DfpService.v201502.CustomFieldService);

            // Get the LineItemService.
            LineItemService lineItemService = (LineItemService)user.GetService(
                DfpService.v201502.LineItemService);

            // Set the IDs of the custom fields, custom field option, and line item.
            long customFieldId       = long.Parse(_T("INSERT_STRING_CUSTOM_FIELD_ID_HERE"));
            long customFieldOptionId = long.Parse(_T("INSERT_CUSTOM_FIELD_OPTION_ID_HERE"));
            long lineItemId          = long.Parse(_T("INSERT_LINE_ITEM_ID_HERE"));

            try {
                // Get the drop-down custom field id.
                long dropDownCustomFieldId =
                    customFieldService.getCustomFieldOption(customFieldOptionId).customFieldId;

                StatementBuilder statementBuilder = new StatementBuilder()
                                                    .Where("id = :id")
                                                    .OrderBy("id ASC")
                                                    .Limit(1)
                                                    .AddValue("id", lineItemId);

                // Get the line item.
                LineItemPage lineItemPage = lineItemService.getLineItemsByStatement(
                    statementBuilder.ToStatement());
                LineItem lineItem = lineItemPage.results[0];

                // Create custom field values.
                List <BaseCustomFieldValue> customFieldValues = new List <BaseCustomFieldValue>();
                TextValue textValue = new TextValue();
                textValue.value = "Custom field value";

                CustomFieldValue customFieldValue = new CustomFieldValue();
                customFieldValue.customFieldId = customFieldId;
                customFieldValue.value         = textValue;
                customFieldValues.Add(customFieldValue);

                DropDownCustomFieldValue dropDownCustomFieldValue = new DropDownCustomFieldValue();
                dropDownCustomFieldValue.customFieldId       = dropDownCustomFieldId;
                dropDownCustomFieldValue.customFieldOptionId = customFieldOptionId;
                customFieldValues.Add(dropDownCustomFieldValue);

                // Only add existing custom field values for different custom fields than
                // the ones you are setting.
                if (lineItem.customFieldValues != null)
                {
                    foreach (BaseCustomFieldValue oldCustomFieldValue in lineItem.customFieldValues)
                    {
                        if (!(oldCustomFieldValue.customFieldId == customFieldId) &&
                            !(oldCustomFieldValue.customFieldId == dropDownCustomFieldId))
                        {
                            customFieldValues.Add(oldCustomFieldValue);
                        }
                    }
                }

                lineItem.customFieldValues = customFieldValues.ToArray();

                // Update the line item on the server.
                LineItem[] lineItems = lineItemService.updateLineItems(new LineItem[] { lineItem });

                if (lineItems != null)
                {
                    foreach (LineItem updatedLineItem in lineItems)
                    {
                        List <String> customFieldValueStrings = new List <String>();
                        foreach (BaseCustomFieldValue baseCustomFieldValue in lineItem.customFieldValues)
                        {
                            if (baseCustomFieldValue is CustomFieldValue &&
                                ((CustomFieldValue)baseCustomFieldValue).value is TextValue)
                            {
                                customFieldValueStrings.Add("{ID: '" + baseCustomFieldValue.customFieldId
                                                            + "', value: '"
                                                            + ((TextValue)((CustomFieldValue)baseCustomFieldValue).value).value
                                                            + "'}");
                            }
                            else if (baseCustomFieldValue is DropDownCustomFieldValue)
                            {
                                customFieldValueStrings.Add("{ID: '" + baseCustomFieldValue.customFieldId
                                                            + "', custom field option ID: '"
                                                            + ((DropDownCustomFieldValue)baseCustomFieldValue).customFieldOptionId
                                                            + "'}");
                            }
                        }
                        Console.WriteLine("A line item with ID \"{0}\" set with custom field values \"{1}\".",
                                          updatedLineItem.id, string.Join(", ", customFieldValueStrings.ToArray()));
                    }
                }
                else
                {
                    Console.WriteLine("No line items were updated.");
                }
            } catch (Exception ex) {
                Console.WriteLine("Failed to update line items. Exception says \"{0}\"", ex.Message);
            }
        }
Пример #36
0
		///
		/// Create an user custom field.
		/// If the custom field already existed then update it.
		///
		///
		/// @param customFieldValue
		/// @return user custom field id
		/// @throws com.silanis.esl.sdk.EslException
		///
		public CustomFieldValue SubmitCustomFieldValue(CustomFieldValue customFieldValue)
        {   
            UserCustomField apiCustomFieldValue = customFieldValue.toAPIUserCustomField();
            apiCustomFieldValue = apiClient.SubmitCustomFieldValue(apiCustomFieldValue);
            return CustomFieldValueBuilder.CustomFieldValue(apiCustomFieldValue).build();
        }