public void Import(Infrastructure.LcpsDbContext context) { if (CrudStatus == ImportCrudStatus.None) return; Guid _staffKey = Guid.Empty; HRStaffPosition[] pp = context.StaffPositions.Where(x => x.StaffMemberId.Equals(_staffKey)).ToArray(); if(pp.Count() > 0) { context.StaffPositions.RemoveRange(pp); context.SaveChanges(); } try { if (CrudStatus.HasFlag(ImportCrudStatus.InsertMember)) { HRStaff staff = new HRStaff() { StaffKey = Guid.NewGuid(), StaffId = this.StaffId, Birthdate = this.Birthdate, FirstName = this.FirstName, MiddleInitial = this.MiddleInitial, LastName = this.LastName, Gender = this.Gender }; _staffKey = staff.StaffKey; context.StaffMembers.Add(staff); } if (CrudStatus.HasFlag(ImportCrudStatus.UpdateMember)) { HRStaff staff = context.StaffMembers.First(x => x.StaffId.ToLower() == this.StaffId.ToLower()); staff.Birthdate = this.Birthdate; staff.FirstName = this.FirstName; staff.MiddleInitial = this.MiddleInitial; staff.LastName = this.LastName; staff.Gender = this.Gender; _staffKey = staff.StaffKey; context.Entry(staff).State = System.Data.Entity.EntityState.Modified; } if (CrudStatus.HasFlag(ImportCrudStatus.CreateMembership)) { if (_staffKey.Equals(Guid.Empty)) _staffKey = context.StaffMembers.First(x => x.StaffId.ToLower() == this.StaffId.ToLower()).StaffKey; HRStaffPosition p = new HRStaffPosition() { StaffMemberId = _staffKey, PositionKey = Guid.NewGuid(), BuildingKey = _staffDefinition.Building.BuildingKey, EmployeeTypeKey = _staffDefinition.EmployeeType.EmployeeTypeLinkId, JobTitleKey = _staffDefinition.JobTitle.JobTitleKey, Status = this.Status, FiscalYear = this.FiscalYear }; context.StaffPositions.Add(p); } if (CrudStatus.HasFlag(ImportCrudStatus.UpdateMembership)) { if (_staffKey.Equals(Guid.Empty)) _staffKey = context.StaffMembers.First(x => x.StaffId.ToLower() == this.StaffId.ToLower()).StaffKey; HRStaffPosition p = context.StaffPositions .First(x => x.StaffMemberId.Equals(_staffKey) & x.BuildingKey.Equals(_staffDefinition.Building.BuildingKey) & x.EmployeeTypeKey.Equals(_staffDefinition.EmployeeType.EmployeeTypeLinkId) & x.JobTitleKey.Equals(_staffDefinition.JobTitle.JobTitleKey)); p.Status = this.Status; p.FiscalYear = this.FiscalYear; context.Entry(p).State = System.Data.Entity.EntityState.Modified; } context.SaveChanges(); ImportStatus = ImportRecordStatus.success; } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(ex); ImportStatus = ImportRecordStatus.danger; ImportReport = ec.ToLineBreakString(); } }
public void Import(Infrastructure.LcpsDbContext context) { try { if (this.CrudStatus == ImportCrudStatus.InsertMember) { LdapAccount ac = new LdapAccount() { AccountId = Guid.NewGuid(), UserKey = _userKey, UserName = this.UserName, InitialPassword = this.Password, Active = this.Active }; context.LdapAccounts.Add(ac); } else { LdapAccount ac = context.LdapAccounts .FirstOrDefault( x => x.UserKey.Equals(_userKey) & x.UserName.ToLower() == this.UserName.ToLower() ); ac.UserName = this.UserName; ac.Active = this.Active; context.Entry(ac).State = System.Data.Entity.EntityState.Modified; } context.SaveChanges(); ImportReport = "Success"; ImportStatus = ImportRecordStatus.success; } catch(Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(ex); ImportReport = ec.ToLineBreakString(); ImportStatus = ImportRecordStatus.danger; } }