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)); }
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")); }
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")); }
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)); }
// 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)); }
//[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; } }
//[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; } }
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()); }