コード例 #1
0
        public JsonResult CompanySearch(string company)
        {
            List <DocumentMovement> CList = db.DocumentMovements.Where(v => v.Description == company && v.Type == Movement.Incoming).OrderBy(c => c.DateCreated).ToList();
            string us = MiscClass.getUserUnit().ToString();
            List <DocumentMovement> CLists = new List <DocumentMovement>();

            int f = 0;

            foreach (var item in CList)
            {
                List <DocumentMovement> c = db.DocumentMovements.Where(v => v.PrefID == item.PrefID).ToList();

                DocumentMovement df = c.Where(x => x.PrefID == item.PrefID).LastOrDefault();

                if (df.Status == Status.Confirmed && df.Destination == us && df.Type == Movement.Incoming)
                {
                    CLists.Add(item);
                }
                //if (c != null)
                //{
                //    if (c.Destination == us)
                //    {
                //        CLists.Add(item);
                //        //CList.RemoveAt(f);
                //    }
                //}


                f = f + 1;
            }


            return(Json(CLists, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ActionResult Confirm(int id)
        {
            DocumentMovement documentMovement = db.DocumentMovements.Find(id);

            if (documentMovement == null)
            {
                return(HttpNotFound());
            }

            var Incoming = documentMovement;

            documentMovement.DateStatus      = DateTime.Now;
            documentMovement.Status          = Status.Confirmed;
            db.Entry(documentMovement).State = EntityState.Modified;
            db.SaveChanges();
            Audit.Trail(documentMovement.PrefID, eAction.Confirmed, documentMovement.Id.ToString());

            Incoming.Type        = Movement.Incoming;
            Incoming.Status      = Status.Confirmed;
            Incoming.Source      = documentMovement.Destination;
            Incoming.Destination = MiscClass.getUserUnit().ToString();
            db.DocumentMovements.Add(Incoming);
            db.SaveChanges();
            Audit.Trail(Incoming.PrefID, eAction.Create, Incoming.Id.ToString());


            return(RedirectToAction("Notifications"));
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            DocumentMovement documentMovement = db.DocumentMovements.Find(id);

            db.DocumentMovements.Remove(documentMovement);
            db.SaveChanges();
            Audit.Trail(documentMovement.PrefID, eAction.Delete, documentMovement.Id.ToString());
            return(RedirectToAction("Index"));
        }
コード例 #4
0
 public ActionResult Edit([Bind(Include = "Id,PrefID,Description,Source,Destination,DateCreated,DateStatus,Status,Type,Linked,OldId,LinkDate")] DocumentMovement documentMovement)
 {
     if (ModelState.IsValid)
     {
         db.Entry(documentMovement).State = EntityState.Modified;
         db.SaveChanges();
         Audit.Trail(documentMovement.PrefID, eAction.Update, documentMovement.Id.ToString());
         return(RedirectToAction("Index"));
     }
     return(View(documentMovement));
 }
コード例 #5
0
        // GET: DocumentMovements/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DocumentMovement documentMovement = db.DocumentMovements.Find(id);

            if (documentMovement == null)
            {
                return(HttpNotFound());
            }
            return(View(documentMovement));
        }
コード例 #6
0
        //[ValidateAntiForgeryToken]
        public ActionResult CreateSend([Bind(Include = "Id,FileId,Description,Subject,DateCreated,UnitId,FileTypeId,Destination,DateSend")] CreateSend Cdocument)
        {
            try
            {
                Document document = new Document();
                document.Description = Cdocument.Description;
                document.FileId      = Cdocument.FileId;
                document.Subject     = Cdocument.Subject;
                document.FileTypeId  = Cdocument.FileTypeId;
                document.UnitId      = Cdocument.UnitId;

                document.UserID      = HttpContext.User.Identity.Name;
                document.DateCreated = DateTime.Now;
                if (ModelState.IsValid)
                {
                    if (document.FileId == null)
                    {
                        var    td     = db.FileTypes.Where(x => x.FileTypeId == document.FileTypeId).FirstOrDefault();
                        string prefix = "";

                        switch (td.Description.ToUpper())
                        {
                        case "PROPOSALS":
                            prefix = "PRP";
                            break;

                        case "LETTERS":
                            prefix = "LTR";
                            break;

                        case "MEMO":
                            prefix = "MEM";
                            break;

                        default:
                            prefix = "TEMP";
                            break;
                        }
                        string ts = MiscClass.GenerateNumber(5);
                        document.FileId = prefix + "/" + DateTime.Today.Year.ToString() + "/" + ts;
                    }
                    var isExist = db.Documents.Where(x => x.FileId == document.FileId).FirstOrDefault();

                    if (isExist == null)
                    {
                        DocumentMovement doc = new DocumentMovement();
                        doc.DateCreated = document.DateCreated;
                        doc.Type        = Movement.Incoming;
                        doc.Source      = MiscClass.getUserUnit().ToString();
                        doc.Destination = document.UnitId.ToString();
                        doc.PrefID      = document.FileId;
                        doc.Status      = Status.Confirmed;
                        doc.DateStatus  = document.DateCreated;
                        doc.Description = document.Description;
                        doc.FileType    = document.FileTypeId;
                        doc.Subject     = document.Subject;

                        db.DocumentMovements.Add(doc);
                        db.Documents.Add(document);

                        db.SaveChanges();
                        Audit.Trail(doc.PrefID, eAction.Create, doc.Id.ToString());

                        var outgoing = db.DocumentMovements.Where(x => x.PrefID == document.FileId).FirstOrDefault();
                        if (outgoing != null)
                        {
                            var ds = Convert.ToDateTime(Cdocument.DateSend);
                            outgoing.DateCreated = ds;
                            outgoing.Source      = outgoing.Destination;
                            outgoing.Destination = Cdocument.Destination;
                            outgoing.Type        = Movement.Outgoing;
                            outgoing.Status      = Status.Pending;

                            db.DocumentMovements.Add(outgoing);
                            Audit.Trail(outgoing.PrefID, eAction.Create, outgoing.Id.ToString());
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(String.Empty, "FileID Already Exists");
                        ViewBag.FileTypeId = new SelectList(db.FileTypes, "FileTypeId", "Description", document.FileTypeId);
                        ViewBag.UnitId     = new SelectList(db.Units, "UnitId", "Description", document.UnitId);
                        return(View(document));
                    }


                    return(RedirectToAction("Index"));
                }

                ViewBag.FileTypeId = new SelectList(db.FileTypes, "FileTypeId", "Description", document.FileTypeId);
                ViewBag.UnitId     = new SelectList(db.Units, "UnitId", "Description", document.UnitId);
                return(View(document));
            }
            catch (Exception e)
            {
                var ed = e;
                throw;
            }
        }
コード例 #7
0
        //[ValidateAntiForgeryToken]
        public ActionResult CreateSendBackLog([Bind(Include = "Id,FileId,Description,Subject,DateCreated,UnitId,FileTypeId,Destination,DateSend")] CreateSend Cdocument)
        {
            try
            {
                Document document = new Document();
                document.Description = Cdocument.Description;
                document.FileId      = Cdocument.FileId;
                document.Subject     = Cdocument.Subject;
                document.FileTypeId  = Cdocument.FileTypeId;
                document.UnitId      = Cdocument.UnitId;

                document.UserID = HttpContext.User.Identity.Name;
                //var s = Convert.ToDateTime(Cdocument.DateCreated);
                document.DateCreated = Cdocument.DateCreated;

                //if (ModelState.IsValid)


                if ((document.FileId == null && document.FileTypeId == 1) || document.DateCreated == null)
                {
                    ModelState.AddModelError("", "Please Complete all Details File ID or Date");
                }
                else
                {
                    if (document.FileId == null)
                    {
                        var    td     = db.FileTypes.Where(x => x.FileTypeId == document.FileTypeId).FirstOrDefault();
                        string prefix = "";

                        switch (td.Description.ToUpper())
                        {
                        case "PROPOSALS":
                            prefix = "PRP";
                            break;

                        case "LETTERS":
                            prefix = "LTR";
                            break;

                        case "MEMO":
                            prefix = "MEM";
                            break;

                        default:
                            prefix = "TEMP";
                            break;
                        }
                        string ts = MiscClass.GenerateNumber(5);
                        document.FileId = prefix + "/" + DateTime.Today.Year.ToString() + "/" + ts;
                    }
                    else
                    {
                        var           sp = document.FileId.ToArray();
                        StringBuilder sd = new StringBuilder();
                        foreach (var item in sp)
                        {
                            if (item.ToString() == "&")
                            {
                                sd.Append("_");
                            }
                            else
                            {
                                sd.Append(item.ToString());
                            }
                        }
                        document.FileId = sd.ToString();
                    }
                    var isExist = db.Documents.Where(x => x.FileId == document.FileId).FirstOrDefault();

                    if (isExist == null)
                    {
                        DocumentMovement doc = new DocumentMovement();
                        doc.DateCreated = document.DateCreated;
                        doc.Type        = Movement.Incoming;
                        doc.Source      = MiscClass.getUserUnit().ToString();
                        doc.Destination = document.UnitId.ToString();
                        doc.PrefID      = document.FileId;
                        doc.Status      = Status.Confirmed;
                        doc.DateStatus  = document.DateCreated;
                        doc.Description = document.Description;
                        doc.FileType    = document.FileTypeId;
                        doc.Subject     = document.Subject;

                        db.DocumentMovements.Add(doc);
                        db.Documents.Add(document);

                        db.SaveChanges();
                        Audit.Trail(doc.PrefID, eAction.Create, doc.Id.ToString());


                        var outgoing = db.DocumentMovements.Where(x => x.PrefID == document.FileId).FirstOrDefault();
                        if (outgoing != null)
                        {
                            outgoing.DateCreated = Cdocument.DateSend;
                            outgoing.Source      = outgoing.Destination;
                            outgoing.Destination = Cdocument.Destination;
                            outgoing.Type        = Movement.Outgoing;
                            outgoing.Status      = Status.Pending;

                            db.DocumentMovements.Add(outgoing);
                            Audit.Trail(outgoing.PrefID, eAction.Create, outgoing.Id.ToString());
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        ViewBag.FileTypeId = new SelectList(db.FileTypes, "FileTypeId", "Description", document.FileTypeId);
                        ViewBag.UnitId     = new SelectList(db.Units, "UnitId", "Description", document.UnitId);
                        return(View(document));
                    }


                    return(RedirectToAction("Index"));
                }

                ViewBag.FileTypeId = new SelectList(db.FileTypes, "FileTypeId", "Description", document.FileTypeId);
                ViewBag.UnitId     = new SelectList(db.Units, "UnitId", "Description", document.UnitId);
                ViewBag.DeptId     = new SelectList(db.Departments.OrderBy(x => x.Description).ToList(), "DeptID", "Description");

                return(View(document));
            }
            catch (Exception e)
            {
                var ed = e;
                throw;
            }
        }
コード例 #8
0
ファイル: UploadController.cs プロジェクト: jonestoons/DTS
        public ActionResult Index(HttpPostedFileBase upload)
        {
            if (ModelState.IsValid)
            {
                if (upload != null && upload.ContentLength > 0)
                {
                    // ExcelDataReader works with the binary Excel file, so it needs a FileStream
                    // to get started. This is how we avoid dependencies on ACE or Interop:
                    Stream stream = upload.InputStream;

                    // We return the interface, so that
                    IExcelDataReader reader = null;


                    if (upload.FileName.EndsWith(".xls"))
                    {
                        reader = ExcelReaderFactory.CreateBinaryReader(stream);
                    }
                    else if (upload.FileName.EndsWith(".xlsx"))
                    {
                        reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                    }
                    else
                    {
                        ModelState.AddModelError("File", "This file format is not supported");
                        return(View());
                    }

                    //reader.IsFirstRowAsColumnNames = true;

                    DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration()
                    {
                        ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
                        {
                            UseHeaderRow = true
                        }
                    });
                    reader.Close();

                    DataTable tbl = result.Tables[0];

                    foreach (DataRow item in tbl.Rows)
                    {
                        Document document = new Document();

                        document.UserID      = HttpContext.User.Identity.Name;
                        document.Subject     = item[2].ToString();
                        document.Description = item[1].ToString();
                        document.DateCreated = Convert.ToDateTime(item[3].ToString());
                        document.UnitId      = Convert.ToInt32(item[4].ToString());

                        string fd     = item[5].ToString();
                        string prefix = "";
                        string ts     = MiscClass.GenerateNumber(5);

                        switch (fd)
                        {
                        case "LETTERS & CORESPONDENCES":
                            prefix              = "LTR";
                            document.FileId     = prefix + "/" + DateTime.Today.Year.ToString() + "/" + ts;
                            document.FileTypeId = 2;
                            break;

                        case "FILE":
                            document.FileId     = item[0].ToString();
                            document.FileTypeId = 1;
                            break;

                        case "PROPOSAL":
                            prefix              = "PRP";
                            document.FileId     = prefix + "/" + DateTime.Today.Year.ToString() + "/" + ts;
                            document.FileTypeId = 3;
                            break;

                        case "REQUEST":
                            prefix              = "TEMP";
                            document.FileId     = prefix + "/" + DateTime.Today.Year.ToString() + "/" + ts;
                            document.FileTypeId = 5;
                            break;
                        }



                        var isExist = db.Documents.Where(x => x.FileId == document.FileId).FirstOrDefault();

                        if (isExist == null)
                        {
                            DocumentMovement doc = new DocumentMovement();
                            doc.DateCreated = document.DateCreated;
                            doc.Type        = Movement.Incoming;
                            doc.Source      = MiscClass.getUserUnit().ToString();
                            doc.Destination = document.UnitId.ToString();
                            doc.PrefID      = document.FileId;
                            doc.Subject     = document.Subject;
                            doc.Status      = Status.Confirmed;
                            doc.DateStatus  = document.DateCreated;
                            doc.Description = document.Description;
                            doc.FileType    = document.FileTypeId;

                            db.DocumentMovements.Add(doc);
                            db.Documents.Add(document);

                            db.SaveChanges();
                            Audit.Trail(doc.PrefID, eAction.Create, doc.Id.ToString());
                        }
                    }

                    ViewBag.recCounts = tbl.Rows.Count;
                    ViewBag.Uploaded  = 1;

                    return(View(result.Tables[0]));
                }
                else
                {
                    ModelState.AddModelError("File", "Please Upload Your file");
                }
            }
            return(View());
        }