private void deleteMarkKafedra(int idCurrentFaculty, MarkObjectFaculty m) { Mark_Facility delMarkF = db.Mark_Facility.Single( mt => mt.Id_Facility == idCurrentFaculty && mt.Id_Criteria == m.CriteriaId); if (m.IsRemoved != null) { List <Status_Doc_Facility> delDocs = db.Status_Doc_Facility.Where(d => d.Id_Mark_Facility == delMarkF.Id).ToList(); foreach (var d in delDocs) { db.Status_Doc_Facility.Remove(d); string fullPath = Request.MapPath("~/documents/" + d.Link_Doc); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } } } db.Mark_Facility.Remove(delMarkF); db.SaveChanges(); }
private void editMarkKafedra(int idCurrentFaculty, MarkObjectFaculty m, Criteria_Facility selectedCriteria) { Mark_Facility editMarkF = db.Mark_Facility.Single( mt => mt.Id_Facility == idCurrentFaculty && mt.Id_Criteria == m.CriteriaId); List <Status_Doc_Facility> oldFiles = db.Status_Doc_Facility.Where(d => d.Id_Mark_Facility == editMarkF.Id).ToList(); if (m.Count != editMarkF.Kolvo_ed) { editMarkF.Kolvo_ed = m.Count; editMarkF.Kolvo_mark = (int)selectedCriteria.Mark * m.Count; editMarkF.Date = DateTime.Now; db.SaveChanges(); } refreshDocs(oldFiles, m, editMarkF); }
private void createMarkKafedra(int idCurrentFaculty, MarkObjectFaculty m, Criteria_Facility selectedCriteria) { Mark_Facility newMarkFaculty = new Mark_Facility(); newMarkFaculty.Id_Facility = idCurrentFaculty; newMarkFaculty.Id_Criteria = m.CriteriaId; newMarkFaculty.Kolvo_ed = m.Count; if (m.NewFiles == null || m.NewFiles[0] == null) { newMarkFaculty.Status = -2; } else { newMarkFaculty.Status = 0; } newMarkFaculty.Kolvo_mark = (int)selectedCriteria.Mark * m.Count; newMarkFaculty.Date = DateTime.Now; if (m.NewFiles != null) { newMarkFaculty.Status_Doc_Facility = new List <Status_Doc_Facility>(); foreach (var item in m.NewFiles) { if (item != null) { var document = new Status_Doc_Facility() { Link_Doc = Guid.NewGuid() + Path.GetFileName(item.FileName), Name = item.FileName, FileType = item.ContentType, FileContent = item.ContentLength }; newMarkFaculty.Status_Doc_Facility.Add(document); item.SaveAs(Path.Combine(Server.MapPath("~/documents"), document.Link_Doc)); } } } db.Mark_Facility.Add(newMarkFaculty); db.SaveChanges(); }
private void refreshDocs(List <Status_Doc_Facility> oldFiles, MarkObjectFaculty m, Mark_Facility editMarkF) { bool isChanged = false; if (oldFiles.Count != 0) { for (int i = 0; i < m.IsRemoved.Count; i++) { if (m.IsRemoved[i]) { db.Status_Doc_Facility.Remove(oldFiles[i]); string fullPath = Request.MapPath("~/documents/" + oldFiles[i].Link_Doc); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } isChanged = true; } } } if (m.NewFiles != null) { if (oldFiles.Count == 0) { editMarkF.Status_Doc_Facility = new List <Status_Doc_Facility>(); } foreach (var nf in m.NewFiles) { if (nf != null) { var document = new Status_Doc_Facility() { Link_Doc = Guid.NewGuid() + Path.GetFileName(nf.FileName), Name = nf.FileName, FileType = nf.ContentType, FileContent = nf.ContentLength }; editMarkF.Status_Doc_Facility.Add(document); nf.SaveAs(Path.Combine(Server.MapPath("~/documents"), document.Link_Doc)); isChanged = true; } } } if (isChanged) { editMarkF.Date = DateTime.Now; int cntRemoved = 0; if (m.IsRemoved != null) { foreach (var r in m.IsRemoved) { if (r) { cntRemoved++; } } } bool bc = false; if (m.ExistingFiles != null) { if (m.ExistingFiles.Count == cntRemoved && (m.NewFiles == null || m.NewFiles[0] == null)) { editMarkF.Status = -2; bc = true; } } else if (m.NewFiles == null || m.NewFiles[0] == null) { editMarkF.Status = -2; bc = true; } if (!bc) { editMarkF.Status = 0; } } db.SaveChanges(); }