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