Example #1
0
        public FileResult DownloadDocument(int pqid)
        {
            PaperDocument paperdocument = _db.PaperDocuments.Find(pqid);

            if (ModelState.IsValid)
            {
                return(File(paperdocument.FileUrl, paperdocument.FileType));
            }
            else
            {
                throw new HttpException(404, "File not Found.");
            }
        }
Example #2
0
 public ActionResult Delete(int id)
 {
     try
     {
         PaperDocument paperdocument = _db.PaperDocuments.Find(id);
         TempData["RecordID"] = paperdocument.RecordRecordID;
         paperdocument.DeletePaperDocument = true;
         _db.SaveChanges();
         return(RedirectToAction("Upload", new { id = paperdocument.RecordRecordID }));
     }
     catch
     {
         return(View("Error"));
     }
 }
Example #3
0
        protected void CopyTo <T>(T dataItem) where T : BasePNRDataItem
        {
            dataItem.ID      = ID;
            dataItem.IDInPNR = IDInPNR;
            dataItem.Type    = Type;

            if (TravellerRef != null)
            {
                dataItem.TravellerRef = new RefList <int>(TravellerRef);
            }
            if (ServiceRef != null)
            {
                dataItem.ServiceRef = new RefList <int>(ServiceRef);
            }
            if (SegmentRef != null)
            {
                dataItem.SegmentRef = new RefList <int>(SegmentRef);
            }

            #region Клонирование внутренних элементов
            switch (Type)
            {
            case PNRDataItemType.Remark:
                dataItem.Remark = Remark?.Copy();
                break;

            case PNRDataItemType.TL:
                dataItem.TimeLimits = TimeLimits?.Copy();
                break;

            case PNRDataItemType.SSR:
                dataItem.SSR = SSR?.DeepCopy();
                break;

            case PNRDataItemType.Commission:
                dataItem.Commission = Commission?.Copy();
                break;

            case PNRDataItemType.FOP:
                dataItem.FOPInfo = FOPInfo?.Copy();
                break;

            case PNRDataItemType.SourceInfo:
                dataItem.SourceInfo = SourceInfo?.Copy();
                break;

            case PNRDataItemType.IDDocument:
                dataItem.Document = Document?.Copy();
                break;

            case PNRDataItemType.ContactInfo:
                dataItem.ContactInfo = ContactInfo?.Copy();
                break;

            case PNRDataItemType.LoyaltyCard:
                dataItem.LoyaltyCard = LoyaltyCard?.Copy();
                break;

            case PNRDataItemType.Meal:
                dataItem.Meal = Meal?.DeepCopy();
                break;

            case PNRDataItemType.ED:
                dataItem.ElectronicDocument = ElectronicDocument?.DeepCopy();
                break;

            case PNRDataItemType.PD:
                dataItem.PaperDocument = PaperDocument?.Copy();
                break;

            case PNRDataItemType.FE:
                dataItem.Endorsements = Endorsements?.Copy();
                break;

            case PNRDataItemType.Visa:
                dataItem.Visa = Visa?.Copy();
                break;

            case PNRDataItemType.ArrivalAddress:
                dataItem.ArrivalAddress = ArrivalAddress?.Copy();
                break;

            case PNRDataItemType.BookedSeat:
                dataItem.BookedSeat = BookedSeat?.Copy();
                break;

            case PNRDataItemType.ValidatingCompany:
                dataItem.ValidatingCompany = ValidatingCompany?.Copy();
                break;

            case PNRDataItemType.TourCode:
                dataItem.TourCode = TourCode?.Copy();
                break;

            case PNRDataItemType.Discount:
                dataItem.Discount = Discount?.Copy();
                break;

            case PNRDataItemType.FareSourceCode:
                dataItem.FareSourceCode = FareSourceCode?.Copy();
                break;

            case PNRDataItemType.AdditionalLocators:
                dataItem.AdditionalLocators = AdditionalLocators?.Copy();
                break;

            case PNRDataItemType.OSI:
                dataItem.OSI = OSI?.Copy();
                break;

            case PNRDataItemType.ReferencedBooks:
                dataItem.ReferencedBooks = ReferencedBooks?.Copy();
                break;

            case PNRDataItemType.FareInfo:
                dataItem.FareInfo = FareInfo?.Copy();
                break;

            case PNRDataItemType.DiscountDocument:
                dataItem.DiscountDocument = DiscountDocument?.Copy();
                break;

            case PNRDataItemType.VoucherFile:
                dataItem.Voucher = Voucher?.Copy();
                break;

            case PNRDataItemType.LinkedBooks:
                dataItem.LinkedBooks = LinkedBooks?.Copy();
                break;
            }
            #endregion
        }
Example #4
0
        public ActionResult Upload(FormCollection formCollection, int recordid, string papernumber)
        {
            var ErrorMessage = "";
            var uploadfile   = Request.Files["uploadfile"];

            var validFileTypes = new string[]
            { "application/pdf",
              "application/msword",
              "application/postscript",
              "application/zip",
              "application/x-compressed",
              "application/x-zip-compressed",
              "application/octet-stream",
              "multipart/x-zip",
              "multipart/x-gzip",
              "application/x-gzip",
              "application/vnd.ms-excel",
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
              "image/bmp",
              "image/x-windows-bmp",
              "image/gif",
              "image/jpeg",
              "image/pjpeg",
              "image/png",
              "image/tiff",
              "image/x-tiff" };

            if (uploadfile == null || uploadfile.ContentLength == 0)
            {
                ModelState.AddModelError("CustomError", "Please choose a file.");
                ErrorMessage = "This field is required";
            }
            else if (!validFileTypes.Contains(uploadfile.ContentType))
            {
                ModelState.AddModelError("CustomError", "File Format is not supported.");
                ErrorMessage = "File Format is not supported.";
            }
            else if (uploadfile.ContentLength > 104857600)
            {
                ModelState.AddModelError("CustomError", "The maximum size is 100MB.");
                ErrorMessage = "The maximum size is 100MB.";
            }
            else if (!uploadfile.FileName.Contains(papernumber))
            {
                ModelState.AddModelError("CustomError", "File name does not match paper number. Please check again.");
                ErrorMessage = "File name does not match paper number. Please check again.";
            }

            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Upload", new { id = recordid, ErrMessage = ErrorMessage }));
            }

            var file = new PaperDocument
            {
                //   RecordRecordID = Convert.ToInt32(formCollection["RecordID"]),
                RecordRecordID      = recordid,
                FileName            = uploadfile.FileName,
                FileType            = uploadfile.ContentType,
                DeletePaperDocument = false
            };

            const string path = "~/App_Data/upload";

            if (!Directory.Exists(Server.MapPath(path)))
            {
                Directory.CreateDirectory(Server.MapPath(path));
            }
            //DirectoryInfo di = new DirectoryInfo(path);

            //var folder = Server.MapPath(file.RecordRecordID.ToString());
            //DirectoryInfo d2 = di.CreateSubdirectory(folder);

            var uploadDir = $"{path}/{file.RecordRecordID}";

            if (!Directory.Exists(Server.MapPath(uploadDir)))
            {
                Directory.CreateDirectory(Server.MapPath(uploadDir));
            }

            file.Comments = formCollection["inputcomments"];

            if (formCollection["inputfilename"] != null && formCollection["inputfilename"].Length > 0)
            {
                file.FileName = formCollection["inputfilename"];
            }
            else
            {
                file.FileName = Path.GetFileName(uploadfile.FileName);
            }

            var palist = from pd in _db.PaperDocuments
                         where pd.RecordRecordID == file.RecordRecordID
                         select pd.FileName;

            if (palist.Contains(file.FileName))
            {
                file.FileName = "new_" + file.FileName;
            }

            if (formCollection["Comments"] != null && formCollection["inputfilename"].Length > 0)
            {
                file.Comments = formCollection["Comments"];
            }

            file.FileUrl = Path.Combine(Server.MapPath(uploadDir), file.FileName);

            uploadfile.SaveAs(file.FileUrl);
            file.UploadUser = User.Identity.Name;

            _db.PaperDocuments.Add(file);
            _db.SaveChanges();

            return(RedirectToAction("Upload", recordid));
        }