private bool InsertRight(OralConsultationItem item, OralConsultation entity) { foreach (var itm in db.TmpOralConsultationRights.Where(p => p.GUID == item.GUID)) { OralConsultationRight dbItem = new OralConsultationRight { OralConsultation = entity, HumanRightID = itm.HumanRightID, OralConsultationID = itm.OralConsultationID, OralConsultationRightID = itm.OralConsultationRightID }; db.OralConsultationRights.Add(dbItem); } List <int> deletionTempItems = new List <int>(); foreach (var itm3 in db.TmpOralConsultationRights.Where(p => p.GUID == item.GUID)) { deletionTempItems.Add(itm3.ID); } foreach (int ID in deletionTempItems) { db.TmpOralConsultationRights.Remove(db.TmpOralConsultationRights.Find(ID)); } return(true); }
private bool InsertPermission(OralConsultationItem item, OralConsultation entity) { foreach (var itm in db.TmpOralConsultationPermissions.Where(p => p.GUID == item.GUID)) { OralConsultationPermission dbItem = new OralConsultationPermission { OralConsultation = entity, UserID = itm.UserID, IsChange = itm.IsChange, IsRead = itm.IsRead, OralConsultationID = itm.OralConsultationID, OralConsultationPermissionID = itm.OralConsultationPermissionID }; db.OralConsultationPermissions.Add(dbItem); } List <int> deletionTempItems = new List <int>(); foreach (var itm3 in db.TmpOralConsultationPermissions.Where(p => p.GUID == item.GUID)) { deletionTempItems.Add(itm3.ID); } foreach (int ID in deletionTempItems) { db.TmpOralConsultationPermissions.Remove(db.TmpOralConsultationPermissions.Find(ID)); } return(true); }
private OralConsultationItem UpdateOralConsultation(OralConsultationItem item) { OralConsultation entity = new OralConsultation { OralConsultationID = item.OralConsultationID, //ResidentID = (int)item.ResidentID, IssueID = (int)item.IssueID, OralConsultationDate = item.OralConsultationDate, InvocationTypeID = item.InvocationTypeID, TargetGroupID = item.TargetGroupID, ProblemDescription = item.ProblemDescription, ConsultationDescription = item.ConsultationDescription, UserID = item.UserID, ChangeDate = DateTime.Now }; db.OralConsultations.Attach(entity); db.Entry(entity).State = EntityState.Modified; this.UpdateConsultant(item, entity); this.UpdateOrganization(item, entity); this.UpdateRight(item, entity); this.UpdatePermission(item, entity); db.SaveChanges(); item.OralConsultationID = entity.OralConsultationID; return(item); }
private OralConsultationItem InsertOralConsultation(OralConsultationItem item) { OralConsultation entity = new OralConsultation { OralConsultationID = item.OralConsultationID, //ResidentID = (int)item.ResidentID, IssueID = (int)item.IssueID, OralConsultationDate = item.OralConsultationDate, InvocationTypeID = item.InvocationTypeID, TargetGroupID = item.TargetGroupID, ProblemDescription = item.ProblemDescription, ConsultationDescription = item.ConsultationDescription, UserID = item.UserID, ChangeDate = DateTime.Now, OwnerID = item.UserID }; db.OralConsultations.Add(entity); this.InsertConsultant(item, entity); this.InsertOrganization(item, entity); this.InsertRight(item, entity); this.InsertPermission(item, entity); db.SaveChanges(); item.OralConsultationID = entity.OralConsultationID; return(item); }
public OralConsultationItem GetOralConsultationItemByIssueID(int issueID) { var issue = db.Issues.Find(issueID); Resident resident = null; if (issue.ResidentID != null) { resident = db.Residents.Find(issue.ResidentID); } OralConsultationItem item = new OralConsultationItem { OralConsultationID = 0, IssueID = issue.IssueID, IssueName = issue.IssueName, IssueDate = issue.IssueDate, IssueDescription = issue.IssueDescription, OralConsultationDate = null, InvocationTypeID = null, TargetGroupID = null, ProblemDescription = String.Empty, ConsultationDescription = String.Empty, GUID = Guid.NewGuid(), InitializationType = InitializationTypes.Insert, UserID = String.Empty, ChangeDate = null }; return(item); }
private bool UpdatePermission(OralConsultationItem item, OralConsultation entity) { List <int> existingItems = new List <int>(); foreach (var itm in db.TmpOralConsultationPermissions.Where(p => p.GUID == item.GUID)) { existingItems.Add(itm.OralConsultationPermissionID); OralConsultationPermission dbItem = new OralConsultationPermission { OralConsultation = entity, UserID = itm.UserID, IsChange = itm.IsChange, IsRead = itm.IsRead, OralConsultationID = itm.OralConsultationID, OralConsultationPermissionID = itm.OralConsultationPermissionID }; if (itm.OralConsultationPermissionID == 0) { db.OralConsultationPermissions.Add(dbItem); } else { db.OralConsultationPermissions.Attach(dbItem); db.Entry(dbItem).State = EntityState.Modified; } } List <int> deletedItems = new List <int>(); foreach (var itm2 in db.OralConsultationPermissions.Where(p => p.OralConsultationID == item.OralConsultationID)) { deletedItems.Add(itm2.OralConsultationPermissionID); } List <int> common = deletedItems.Except(existingItems).ToList(); foreach (int deletionID in common) { db.OralConsultationPermissions.Remove(db.OralConsultationPermissions.Find(deletionID)); } List <int> deletionTempItems = new List <int>(); foreach (var itm3 in db.TmpOralConsultationPermissions.Where(p => p.GUID == item.GUID)) { deletionTempItems.Add(itm3.ID); } foreach (int ID in deletionTempItems) { db.TmpOralConsultationPermissions.Remove(db.TmpOralConsultationPermissions.Find(ID)); } return(true); }
public OralConsultationItem SaveOralConsultation(OralConsultationItem item) { OralConsultationItem resultItem = null; switch (item.InitializationType) { case InitializationTypes.Insert: resultItem = this.InsertOralConsultation(item); break; case InitializationTypes.Update: resultItem = this.UpdateOralConsultation(item); break; } return(resultItem); }
public OralConsultationItem GetOralConsultationItemByID(int oralConsultationID) { var oralConsultation = db.OralConsultations.Find(oralConsultationID); var issue = db.Issues.Find(oralConsultation.IssueID); OralConsultationItem item = new OralConsultationItem { OralConsultationID = oralConsultation.OralConsultationID, IssueID = issue.IssueID, IssueName = issue.IssueName, IssueDate = issue.IssueDate, IssueDescription = issue.IssueDescription, OralConsultationDate = oralConsultation.OralConsultationDate, InvocationTypeID = oralConsultation.InvocationTypeID, TargetGroupID = oralConsultation.TargetGroupID, ProblemDescription = oralConsultation.ProblemDescription, ConsultationDescription = oralConsultation.ConsultationDescription, GUID = Guid.NewGuid(), InitializationType = InitializationTypes.Update, UserID = String.Empty, ChangeDate = null }; foreach (var consultant in db.OralConsultationConsultants.Where(p => p.OralConsultationID == oralConsultationID)) { TmpOralConsultationConsultant itm = new TmpOralConsultationConsultant(); itm.OralConsultationConsultantID = consultant.OralConsultationConsultantID; itm.OralConsultationID = consultant.OralConsultationID; itm.ConsultantID = consultant.ConsultantID; itm.GUID = item.GUID; db.TmpOralConsultationConsultants.Add(itm); } foreach (var organization in db.OralConsultationOrganizations.Where(p => p.OralConsultationID == oralConsultationID)) { TmpOralConsultationOrganization itm = new TmpOralConsultationOrganization(); itm.OralConsultationOrganizationID = organization.OralConsultationOrganizationID; itm.OralConsultationID = organization.OralConsultationID; itm.OrganizationID = organization.OrganizationID; itm.GUID = item.GUID; db.TmpOralConsultationOrganizations.Add(itm); } foreach (var right in db.OralConsultationRights.Where(p => p.OralConsultationID == oralConsultationID)) { TmpOralConsultationRight itm = new TmpOralConsultationRight(); itm.OralConsultationRightID = right.OralConsultationRightID; itm.OralConsultationID = right.OralConsultationID; itm.HumanRightID = right.HumanRightID; itm.GUID = item.GUID; db.TmpOralConsultationRights.Add(itm); } foreach (var permission in db.OralConsultationPermissions.Where(p => p.OralConsultationID == oralConsultationID)) { TmpOralConsultationPermission itm = new TmpOralConsultationPermission(); itm.OralConsultationPermissionID = permission.OralConsultationPermissionID; itm.OralConsultationID = permission.OralConsultationID; itm.UserID = permission.UserID; itm.IsChange = permission.IsChange; itm.IsRead = permission.IsRead; itm.GUID = item.GUID; db.TmpOralConsultationPermissions.Add(itm); } db.SaveChanges(); return(item); }