Пример #1
0
        public ActionResult SaveFamilyImage(string data)
        {
            // Authenticate first
            if (!Auth())
            {
                return(BaseMessage.createErrorReturn("Authentication failed, please try again", BaseMessage.API_ERROR_INVALID_CREDENTIALS));
            }

            BaseMessage      dataIn = BaseMessage.createFromString(data);
            CheckInSaveImage cisi   = JsonConvert.DeserializeObject <CheckInSaveImage>(dataIn.data);

            BaseMessage br = new BaseMessage();

            var imageBytes = Convert.FromBase64String(cisi.image);

            var family = DbUtil.Db.Families.SingleOrDefault(pp => pp.FamilyId == cisi.id);

            if (family.Picture != null)
            {
                if (ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.ThumbId) != null)
                {
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit(ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.ThumbId));
                }

                if (ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.ThumbId) != null)
                {
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit(ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.SmallId));
                }

                if (ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.ThumbId) != null)
                {
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit(ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.MediumId));
                }

                if (ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.ThumbId) != null)
                {
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit(ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == family.Picture.LargeId));
                }

                family.Picture.ThumbId  = ImageData.Image.NewImageFromBits(imageBytes, 50, 50).Id;
                family.Picture.SmallId  = ImageData.Image.NewImageFromBits(imageBytes, 120, 120).Id;
                family.Picture.MediumId = ImageData.Image.NewImageFromBits(imageBytes, 320, 400).Id;
                family.Picture.LargeId  = ImageData.Image.NewImageFromBits(imageBytes).Id;
            }
            else
            {
                var newPicture = new Picture();

                newPicture.ThumbId  = ImageData.Image.NewImageFromBits(imageBytes, 50, 50).Id;
                newPicture.SmallId  = ImageData.Image.NewImageFromBits(imageBytes, 120, 120).Id;
                newPicture.MediumId = ImageData.Image.NewImageFromBits(imageBytes, 320, 400).Id;
                newPicture.LargeId  = ImageData.Image.NewImageFromBits(imageBytes).Id;

                family.Picture = newPicture;
            }

            DbUtil.Db.SubmitChanges();

            br.setNoError();
            br.data  = "Image updated.";
            br.id    = cisi.id;
            br.count = 1;

            return(br);
        }
Пример #2
0
        public ActionResult SaveFamilyImage(string data)
        {
            // Authenticate first
            if (!Auth())
            {
                return(CheckInMessage.createErrorReturn("Authentication failed, please try again", CheckInMessage.API_ERROR_INVALID_CREDENTIALS));
            }

            CheckInMessage   dataIn = CheckInMessage.createFromString(data);
            CheckInSaveImage cisi   = JsonConvert.DeserializeObject <CheckInSaveImage>(dataIn.data);

            CheckInMessage br = new CheckInMessage();

            byte[] imageBytes = Convert.FromBase64String(cisi.image);

            Family family = CurrentDatabase.Families.SingleOrDefault(pp => pp.FamilyId == cisi.id);

            if (family != null && family.Picture != null)
            {
                // Thumb image
                Image imageDataThumb = CurrentImageDatabase.Images.SingleOrDefault(i => i.Id == family.Picture.ThumbId);

                if (imageDataThumb != null)
                {
                    CurrentImageDatabase.Images.DeleteOnSubmit(imageDataThumb);
                }

                // Small image
                Image imageDataSmall = CurrentImageDatabase.Images.SingleOrDefault(i => i.Id == family.Picture.SmallId);

                if (imageDataSmall != null)
                {
                    CurrentImageDatabase.Images.DeleteOnSubmit(imageDataSmall);
                }

                // Medium image
                Image imageDataMedium = CurrentImageDatabase.Images.SingleOrDefault(i => i.Id == family.Picture.MediumId);

                if (imageDataMedium != null)
                {
                    CurrentImageDatabase.Images.DeleteOnSubmit(imageDataMedium);
                }

                // Large image
                Image imageDataLarge = CurrentImageDatabase.Images.SingleOrDefault(i => i.Id == family.Picture.LargeId);

                if (imageDataLarge != null)
                {
                    CurrentImageDatabase.Images.DeleteOnSubmit(imageDataLarge);
                }

                family.Picture.ThumbId  = Image.NewImageFromBits(imageBytes, 50, 50, CurrentImageDatabase).Id;
                family.Picture.SmallId  = Image.NewImageFromBits(imageBytes, 120, 120, CurrentImageDatabase).Id;
                family.Picture.MediumId = Image.NewImageFromBits(imageBytes, 320, 400, CurrentImageDatabase).Id;
                family.Picture.LargeId  = Image.NewImageFromBits(imageBytes, CurrentImageDatabase).Id;
            }
            else
            {
                Picture newPicture = new Picture
                {
                    ThumbId  = Image.NewImageFromBits(imageBytes, 50, 50, CurrentImageDatabase).Id,
                    SmallId  = Image.NewImageFromBits(imageBytes, 120, 120, CurrentImageDatabase).Id,
                    MediumId = Image.NewImageFromBits(imageBytes, 320, 400, CurrentImageDatabase).Id,
                    LargeId  = Image.NewImageFromBits(imageBytes, CurrentImageDatabase).Id
                };

                if (family != null)
                {
                    family.Picture = newPicture;
                }
            }

            CurrentDatabase.SubmitChanges();

            br.setNoError();
            br.data  = "Image updated.";
            br.id    = cisi.id;
            br.count = 1;

            return(br);
        }
Пример #3
0
        public ActionResult SaveImage( string data )
        {
            // Authenticate first
            if( !Auth() )
                return CheckInMessage.createErrorReturn( "Authentication failed, please try again", CheckInMessage.API_ERROR_INVALID_CREDENTIALS );

            CheckInMessage dataIn = CheckInMessage.createFromString( data );
            CheckInSaveImage cisi = JsonConvert.DeserializeObject<CheckInSaveImage>( dataIn.data );

            CheckInMessage br = new CheckInMessage();

            byte[] imageBytes = Convert.FromBase64String( cisi.image );

            Person person = DbUtil.Db.People.SingleOrDefault( pp => pp.PeopleId == cisi.id );

            if( person != null && person.Picture != null ) {
                // Thumb image
                Image imageDataThumb = ImageData.DbUtil.Db.Images.SingleOrDefault( i => i.Id == person.Picture.ThumbId );

                if( imageDataThumb != null )
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit( imageDataThumb );

                // Small image
                Image imageDataSmall = ImageData.DbUtil.Db.Images.SingleOrDefault( i => i.Id == person.Picture.SmallId );

                if( imageDataSmall != null )
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit( imageDataSmall );

                // Medium image
                Image imageDataMedium = ImageData.DbUtil.Db.Images.SingleOrDefault( i => i.Id == person.Picture.MediumId );

                if( imageDataMedium != null )
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit( imageDataMedium );

                // Large image
                Image imageDataLarge = ImageData.DbUtil.Db.Images.SingleOrDefault( i => i.Id == person.Picture.LargeId );

                if( imageDataLarge != null )
                    ImageData.DbUtil.Db.Images.DeleteOnSubmit( imageDataLarge );

                person.Picture.ThumbId = Image.NewImageFromBits( imageBytes, 50, 50 ).Id;
                person.Picture.SmallId = Image.NewImageFromBits( imageBytes, 120, 120 ).Id;
                person.Picture.MediumId = Image.NewImageFromBits( imageBytes, 320, 400 ).Id;
                person.Picture.LargeId = Image.NewImageFromBits( imageBytes ).Id;
            } else {
                Picture newPicture = new Picture
                {
                    ThumbId = Image.NewImageFromBits( imageBytes, 50, 50 ).Id,
                    SmallId = Image.NewImageFromBits( imageBytes, 120, 120 ).Id,
                    MediumId = Image.NewImageFromBits( imageBytes, 320, 400 ).Id,
                    LargeId = Image.NewImageFromBits( imageBytes ).Id
                };

                if( person != null ) person.Picture = newPicture;
            }

            person?.LogPictureUpload( DbUtil.Db, Util.UserPeopleId ?? 1 );

            DbUtil.Db.SubmitChanges();

            br.setNoError();
            br.data = "Image updated";
            br.id = cisi.id;
            br.count = 1;

            return br;
        }