public ActionResult FetchImage(string data)
        {
            // Authenticate first
            var result = AuthenticateUser();

            if (!result.IsValid)
            {
                return(AuthorizationError(result));
            }

            BaseMessage          dataIn = BaseMessage.createFromString(data);
            MobilePostFetchImage mpfi   = JsonConvert.DeserializeObject <MobilePostFetchImage>(dataIn.data);

            BaseMessage br = new BaseMessage();

            if (mpfi.id == 0)
            {
                return(br.setData("The ID for the person cannot be set to zero"));
            }

            br.data = "The picture was not found.";

            var person = DbUtil.Db.People.SingleOrDefault(pp => pp.PeopleId == mpfi.id);

            if (person.PictureId != null)
            {
                Image image = null;

                switch (mpfi.size)
                {
                case 0:     // 50 x 50
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.ThumbId);
                    break;

                case 1:     // 120 x 120
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.SmallId);
                    break;

                case 2:     // 320 x 400
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.MediumId);
                    break;

                case 3:     // 570 x 800
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.LargeId);
                    break;
                }

                if (image != null)
                {
                    br.data  = Convert.ToBase64String(image.Bits);
                    br.count = 1;
                    br.error = 0;
                }
            }

            return(br);
        }
Example #2
0
        public ActionResult FetchImage(string data)
        {
            // Authenticate first
            var authError = Authenticate();

            if (authError != null)
            {
                return(authError);
            }

            // Check to see if type matches
            BaseMessage dataIn = BaseMessage.createFromString(data);

            if (dataIn.type != BaseMessage.API_TYPE_PERSON_IMAGE_REFRESH)
            {
                return(BaseMessage.createTypeErrorReturn());
            }

            // Everything is in order, start the return
            MobilePostFetchImage mpfi = JsonConvert.DeserializeObject <MobilePostFetchImage>(dataIn.data);

            BaseMessage br = new BaseMessage();

            if (mpfi.id == 0)
            {
                return(br.setData("The ID for the person cannot be set to zero"));
            }

            br.data = "The picture was not found.";
            br.type = BaseMessage.API_TYPE_PERSON_IMAGE_REFRESH;

            var person = DbUtil.Db.People.SingleOrDefault(pp => pp.PeopleId == mpfi.id);

            if (person.PictureId != null)
            {
                ImageData.Image image = null;

                switch (mpfi.size)
                {
                case 0:                         // 50 x 50
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.ThumbId);
                    break;

                case 1:                         // 120 x 120
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.SmallId);
                    break;

                case 2:                         // 320 x 400
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.MediumId);
                    break;

                case 3:                         // 570 x 800
                    image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == person.Picture.LargeId);
                    break;
                }

                if (image != null)
                {
                    br.data  = Convert.ToBase64String(image.Bits);
                    br.count = 1;
                    br.error = 0;
                }
            }

            return(br);
        }