private List <OutboxDocumentModel> GetDocumentsByOutbox(List <OutboxItem> outbox) { var ids = outbox.Select(x => x.ProcessId).Distinct().ToList(); var documents = _documentRepository.GetByIds(ids) .ToDictionary(x => x.Id, x => x); var docs = new List <OutboxDocumentModel>(); foreach (var outboxItem in outbox) { OutboxDocumentModel doc; //if document is exists if (documents.TryGetValue(outboxItem.ProcessId, out Document _doc)) { doc = GetDocumentModel <OutboxDocumentModel>(_doc); } else { doc = new OutboxDocumentModel(); doc.Id = outboxItem.ProcessId; doc.IsCorrect = false; doc.StateName = DocumentModel.NotFoundError; } doc.ApprovalCount = outboxItem.ApprovalCount; doc.FirstApprovalTime = outboxItem.FirstApprovalTime; doc.LastApprovalTime = outboxItem.LastApprovalTime; doc.LastApproval = outboxItem.LastApproval; docs.Add(doc); } return(docs); }
public ActionResult DeleteConfirmed(int id) { OutboxDocumentModel outboxDocumentModel = db.OutboxDocumentModels.Find(id); db.OutboxDocumentModels.Remove(outboxDocumentModel); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Date,DocIndex,Description,Author,LeadResolution,LeadResolutionLogin,SaveTime,DocumentFile,NoteToDocument,Status")] OutboxDocumentModel outboxDocumentModel) { if (ModelState.IsValid) { db.Entry(outboxDocumentModel).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(outboxDocumentModel)); }
// GET: OutboxDocument/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OutboxDocumentModel outboxDocumentModel = db.OutboxDocumentModels.Find(id); if (outboxDocumentModel == null) { return(HttpNotFound()); } return(View(outboxDocumentModel)); }
/// <summary> /// получаем данные поля LeadResolution. Кто назначен для обработки документа /// </summary> /// <param name="outboxDocumentModel"></param> /// <returns></returns> public string LeadResolutionName(OutboxDocumentModel outboxDocumentModel) { return(outboxDocumentModel.LeadResolution); }
public ActionResult Create([Bind(Include = "Id,Date,DocIndex,Description,Author,LeadResolution,LeadResolutionLogin,SaveTime,DocumentFile,NoteToDocument,Status")] HttpPostedFileBase upload, OutboxDocumentModel outboxDocumentModel) { if (ModelState.IsValid) { db.OutboxDocumentModels.Add(outboxDocumentModel); //Upload(upload); if (upload != null) { // получаем имя файла //string fileName = LeadResolutionName(incomingDocumentModel) + System.IO.Path.GetFileName(upload.FileName); // получаем расширение файла string fileName = LeadResolutionName(outboxDocumentModel) + DocIndexName(outboxDocumentModel) + System.IO.Path.GetExtension(upload.FileName); // сохраняем файл в папку IncomingDocuments.Files в проекте upload.SaveAs(Server.MapPath("~/OutboxDocuments.Files/" + fileName)); //определяем название файла для сохранения и последующей загрузки. Переопределение (определение) поля DocumentFile outboxDocumentModel.DocumentFile = fileName; } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(outboxDocumentModel)); }
/// <summary> /// получаем данные поля DocIndexName /// </summary> /// <param name="outboxDocumentModel"></param> /// <returns></returns> public string DocIndexName(OutboxDocumentModel outboxDocumentModel) { return(outboxDocumentModel.DocIndex); }