private void ValidateImage(BrokeredMessage ReceivedMessage) { try { Trace.WriteLine("Processing Service Bus message: " + ReceivedMessage.SequenceNumber.ToString()); ValidationRequest ValidationReq = ReceivedMessage.GetBody <ValidationRequest>(); Image image = db.Images.Find(ValidationReq.ImageId); bool isValidated = false; if (image != null) { Trace.WriteLine("Processing Image ID: " + image.Id); isValidated = ImageOperations.Validate(image.Id); if (isValidated) { image.Validated = true; Trace.WriteLine("Message Processed and Image validation passed for image ID : " + image.Id); } else { //Delete image from BLOB List <int> lstImageDelete = new List <int>(); lstImageDelete.Add(image.Id); ImageOperations.DeleteBlobs(lstImageDelete); //Delete database record of image db.Images.Remove(image); Trace.WriteLine("Message Processed and Image validation failed for image ID : " + image.Id); } db.SaveChanges(); //Reply to User by Queues ImageSharingWorkerRole.DAL.MessageQueue.EnqueResponseMessage(image.Caption, image.User.Email.Substring(0, image.User.Email.IndexOf('@')), isValidated); Trace.WriteLine("Queue Message enqueued"); } } catch (Exception ex) { Trace.WriteLine(ex.Message); throw ex; } finally { ReceivedMessage.Complete(); } }