public ActionResult Index(HttpPostedFileBase file, UploadingPictureViewModel model)
        {
            if (file != null && file.ContentLength > 0)
                try
                {
                    string cookie = HttpContext.Request.Cookies["sessionId"].Value;
                    var userId = SessionHelper.GetAuthorizedUser(cookie);
                    if (userId == null)
                        return View("~//Views//Shared//Error.cshtml", new ErrorViewModel() { Message = "Unauthorized", StatusCode = HttpStatusCode.Unauthorized });

                    PictureClient pictureClient = new PictureClient();
                    var picture = new PictureDto() { AuthorId = userId.Value, Description = model.Description, Title = model.Name };
                    picture.PictureContent = PictureHelper.GetBytesFromStream(file);
                    picture.FileFormat = file.ContentType;
                    var resp = pictureClient.Create(picture, cookie);
                    ViewBag.Message = "File uploaded successfully";
                }
                catch (Exception ex)
                {
                    return View("~//Views//Shared//Error.cshtml", new ErrorViewModel() { Message = ex.Message, StatusCode = HttpStatusCode.ServiceUnavailable });
                }
            else
            {
                ViewBag.Message = "You have not specified a file.";
            }

            var picturesModel = GetPictures();
            if (picturesModel == null)
                return View("~//Views//Shared//Error.cshtml", new ErrorViewModel() { Message = "Unauthorized", StatusCode = HttpStatusCode.Unauthorized });
            return View("~//Views//MyPictures//Index.cshtml", picturesModel);
        }
 public HttpResponseMessage Get(int id)
 {
     try
     {
         using (var context = new PicContext())
         {
             var res =  new PictureDto(context
                 .Pictures
                 .Single(u => u.Id == id));
             return Request.CreateResponse<PictureDto>(HttpStatusCode.OK, res);
         }
     }
     catch (InvalidOperationException)
     {
         return Request.CreateResponse(HttpStatusCode.NotFound);
     }
     catch (ArgumentNullException)
     {
         return Request.CreateResponse(HttpStatusCode.BadRequest);
     }
     catch (Exception)
     {
         return Request.CreateResponse(HttpStatusCode.InternalServerError);
     }
 }
 public PictureDto Create(PictureDto picture, string cookie)
 {
     var request = new RestRequest();
     request.AddJsonBody(picture);
     var response = _client.Post<PictureDto>(request);
     request.AddHeader(Headers.SessionId, cookie);
     return response.Data;
 }
 public static Picture DtoToPicture(PictureDto pictureDto)
 {
     return new Picture()
     {
         Id = pictureDto.Id,
         AuthorId = pictureDto.AuthorId,
         Description = pictureDto.Description,
         FileFormat = pictureDto.FileFormat,
         PictureContent = pictureDto.PictureContent.ToArray(),
         Title = pictureDto.Title
     };
 }
 public static ViewPicture GetPictureData(PictureDto picture)
 {
     if (picture == null) return new ViewPicture();
     string cont = Convert.ToBase64String(picture.PictureContent.ToArray());
     cont = "data:" + picture.FileFormat + ";base64," + cont;
     ViewPicture viewPicture = new ViewPicture()
     {
         Contents = cont,
         Id = picture.Id,
         Title = picture.Title,
         Description = picture.Description
     };
     return (viewPicture);
 }
 public ActionResult ModifyN(ViewPicture model)
 {
     try
     {
         var id = (long) Session["pictureId"];
         string cookie = HttpContext.Request.Cookies["sessionId"].Value;
         var userId = SessionHelper.GetAuthorizedUser(cookie);
         if (userId == null)
             return View("~//Views//Shared//Error.cshtml", new ErrorViewModel() { Message = "Unauthorized", StatusCode = HttpStatusCode.Unauthorized });
         PictureClient pictureClient = new PictureClient();
         PictureDto p = new PictureDto();
         p.Id = id;
         p.Description = model.Description;
         p.Title = model.Title;
         pictureClient.Update(p, cookie);
         return Details(id);
     }
     catch (Exception e)
     {
         return View("~//Views//Shared//Error.cshtml", new ErrorViewModel() { Message = e.Message, StatusCode = HttpStatusCode.ServiceUnavailable });
     }
 }