//Max 2GO
        public async Task <ActionResult> Convert(ConversionForm form)
        {
            if (ModelState.IsValid && isConversionFormValid(form))
            {
                if (!User.Identity.IsAuthenticated)
                {
                    Session.Remove("conversionForm");
                    Session.Add("conversionForm", form);
                    return RedirectToAction("Login", "Account", new { returnUrl = "/Conversion/Convert" });
                }



                try
                {
                    string fileName = Path.GetFileName(form.Url);
                    long fileTime = DateTime.Now.ToFileTime();
                    decimal price = 0;
                    long fileLength = 0;
                    if (form.Url != null)
                    {
                        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(form.Url);
                        HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
                        fileLength = response.ContentLength / 1024;
                    }
                    else
                    {
                        fileLength = form.File.ContentLength / 1024;
                    }
                    

                    if((fileLength + SystemHelper.GetStorageUsed(User.Identity.GetUserId())) <= MAXIMUM_MEMORY_ATTRIBUTED)
                    {
                        Session.Add("conversionForm", form);
                        return proceedToPayment(fileName, getPrice(fileLength), 1, fileTime.ToString());
                    }
                    else
                    {
                        Session.Remove("conversionForm");
                        ModelState.AddModelError("", "Stockage insuffisant");
                    }

                    
                }
                catch (Exception)
                {
                    
                }
                ViewBag.audioFormats = await conversionApi.GetAudioFormatsSupported();
                ViewBag.videoFormats = await conversionApi.GetVideoFormatsSupported();
                return View(form);
                
            }
            TempData.Add("modelState", ModelState);
            return RedirectToAction("index", "home");
        }
 private bool isConversionFormValid(ConversionForm form)
 {
     if((form.File == null && form.Url == null) || (form.File != null && form.Url != null))
     {
         ModelState.AddModelError("urlFileRequirement", "Veuillez séléctionner soit un Url ou un fichier");
         return false;
     }
     return true;
 }