private static string GetOnErrorUrl(ItemViewModels.PersonViewModel model, string size)
        {
            try
            {
                SocialMediaName socialMediaName = model.SocialMediaNames.FirstOrDefault(s => s.Source.Name == "Twitter");
                string          imageUrl        = "https://twitter.com/" + socialMediaName.Username + "/profile_image?size=" + size;

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(imageUrl);
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        return(response.ResponseUri.AbsoluteUri);
                    }
                    return("/Content/build/images/picture.jpg");
                }
            }
#pragma warning disable CS0168 // Variable is declared but never used
            catch (Exception e)
#pragma warning restore CS0168 // Variable is declared but never used
            {
                return("/Content/build/images/picture.jpg");
            }
        }
        /// <summary>
        /// Reads json and makes item objects which will be saved afterwards into the database.
        /// </summary>
        private bool AddItemsFromJson(string json, int subPlatformID)
        {
            uowManager = new UnitOfWorkManager();
            InitRepo();

            dynamic     deserializedJson = JsonConvert.DeserializeObject(json);
            UserManager userManager      = new UserManager(uowManager);
            DataManager dataManager      = new DataManager(uowManager);
            SubPlatform subPlatform      = new SubplatformManager(uowManager).GetSubPlatform(subPlatformID);

            //Needs to be in memory to gain preformance
            IEnumerable <Area>   areas         = userManager.GetAreas();
            IEnumerable <Source> sources       = dataManager.GetAllSources();
            IEnumerable <Item>   organisations = GetAllOrganisations();
            IEnumerable <Item>   persons       = GetAllPersons();
            List <Item>          items         = new List <Item>();

            //Extract perons out of the JSON
            for (int i = 0; i < deserializedJson.Count; i++)
            {
                string fullname = deserializedJson[i].full_name;
                if (persons.Where(person => person.SubPlatform.SubPlatformId == subPlatformID)
                    .Where(x => x.Name.Equals(fullname)).SingleOrDefault() == null)
                {
                    string gender       = deserializedJson[i].gender;
                    string postalCode   = deserializedJson[i].postal_code;
                    string organisation = deserializedJson[i].organisation;
                    string twitter      = deserializedJson[i].twitter;
                    string facebook     = deserializedJson[i].facebook;
                    string stringDate   = Convert.ToString(deserializedJson[i].dateOfBirth);
                    string town         = deserializedJson[i].town;
                    string level        = deserializedJson[i].level;
                    string site         = deserializedJson[i].site;
                    string district     = deserializedJson[i].district;
                    string position     = deserializedJson[i].position;

                    Gender   personGender = (gender == "M") ? Gender.Man : Gender.Woman;
                    DateTime?dateOfBirth  = DateTime.ParseExact(stringDate, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

                    Person person = (Person)AddItem(itemType: ItemType.Person, name: fullname, gender: personGender, district: district,
                                                    level: level, site: site, position: position, dateOfBirth: dateOfBirth);
                    person.SubPlatform = subPlatform;
                    person.Area        = areas.Where(area => area.PostalCode.Equals(postalCode) && area.Residence.ToLower().Equals(town.ToLower())).SingleOrDefault();

                    if (!string.IsNullOrEmpty(twitter))
                    {
                        SocialMediaName twitterSocial = new SocialMediaName()
                        {
                            Username = twitter,
                            Source   = sources.Where(src => src.Name.Equals("Twitter")).SingleOrDefault()
                        };
                        person.SocialMediaNames.Add(twitterSocial);
                    }
                    if (!string.IsNullOrEmpty(facebook))
                    {
                        SocialMediaName facebookSocial = new SocialMediaName()
                        {
                            Username = facebook,
                            Source   = sources.Where(src => src.Name.Equals("Facebook")).SingleOrDefault()
                        };
                        person.SocialMediaNames.Add(facebookSocial);
                    }
                    person.Organisation = (Organisation)organisations.Where(org => org.Name.Equals(organisation)).SingleOrDefault();

                    items.Add(person);
                }
            }

            //Save items to the database
            if (items.Count > 0)
            {
                itemRepo.CreateItems(items);
                uowManager.Save();
                foreach (Item item in items)
                {
                    GenerateDefaultItemWidgets(item.Name, item.ItemId);
                }
                uowManager = null;
                return(true);
            }
            else
            {
                return(false);
            }
        }