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); }
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); }
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; }