public void ProcessRequest(HttpContext context) { DTOFileUploadResult result = new DTOFileUploadResult(); GenericResponseModel response = new GenericResponseModel(); string extension = string.Empty; Dictionary <string, DTOFileUploadResult> dict = new Dictionary <string, DTOFileUploadResult>(); if (SessionManager <Dictionary <string, DTOFileUploadResult> > .exist(SessionKeys.DTO_FILE)) { dict = SessionManager <Dictionary <string, DTOFileUploadResult> > .get(SessionKeys.DTO_FILE); } try { HttpPostedFile file = ParseFile(context); if (file != null) { extension = System.IO.Path.GetExtension(file.FileName); } if (file != null) { if (!(dict.ContainsKey(file.FileName))) { // switch tipo upload result = ParseMail(file); dict.Add(file.FileName, result); if (result.errormessage != "Upload non riuscito.") { // salvo in sessione SessionManager <Dictionary <string, DTOFileUploadResult> > .set(SessionKeys.DTO_FILE, dict); response.FileName = file.FileName; response.success = "true"; } } } } catch (ManagedException mex) { _log.Error(mex); result.success = false; result.errormessage = mex.Message; } catch (System.Web.HttpException wex) { ErrorLogInfo error = new ErrorLogInfo(); error.freeTextDetails = wex.Message; error.logCode = "ERR771"; error.loggingAppCode = "PEC"; error.loggingTime = System.DateTime.Now; error.uniqueLogID = System.DateTime.Now.Ticks.ToString(); _log.Error(error); result.success = false; result.errormessage = wex.Message; } finally { context.Response.Write(JsonResult(response)); context.ApplicationInstance.CompleteRequest(); } }
private DTOFileUploadResult ParseMail(HttpPostedFile file) { byte[] btotal = ReadFully(file.InputStream); DTOFileUploadResult dto = new DTOFileUploadResult(); string Extension = System.IO.Path.GetExtension(file.FileName); string[] args = Extension.Split('.'); dto.Extension = args[1]; dto.FileName = file.FileName; if (btotal.Length > 0) { dto.CustomData = btotal; dto.success = true; dto.errormessage = string.Empty; } return(dto); }