public void Validate(Infrastructure.LcpsDbContext context) { // ---------- Validate Position Info try { _staffDefinition = new HRStaffPositionDefinition(this.BuildingId, this.EmployeeTypeId, this.JobTitleId, context); } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(ex); ValidationReport = ec.ToLineBreakString(); ValidationStatus = ImportRecordStatus.danger; return; } // ---------- Valdiate Birthdate try { DateTime d = this.Birthdate; } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(new Exception("Invalid bithdate", ex)); ValidationReport = ec.ToLineBreakString(); ValidationStatus = ImportRecordStatus.danger; return; } // ---------- Valdiate Status Qualifier try { HRStaffPositionQualifier q = this.Status; } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(new Exception("Invalid status", ex)); ValidationReport = ec.ToLineBreakString(); ValidationStatus = ImportRecordStatus.danger; return; } // ---------- Validate gender try { HRGenders g = this.Gender; } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(new Exception("Invalid gender", ex)); ValidationReport = ec.ToLineBreakString(); ValidationStatus = ImportRecordStatus.danger; return; } // --------- Validate Required fields try { AnvilEntity e = new AnvilEntity(this); e.RequiredFields.Add("StaffId"); e.RequiredFields.Add("FirstName"); e.RequiredFields.Add("LastName"); e.Validate(); } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(ex); ValidationReport = ec.ToLineBreakString(); ValidationStatus = ImportRecordStatus.danger; return; } ValidationStatus = ImportRecordStatus.success; ValidationReport = "Validated"; }
public void Validate(Infrastructure.LcpsDbContext context) { // ---------- Vadliate User key HRStaff staff = context.StaffMembers.FirstOrDefault(x => x.StaffId.ToLower() == this.EntityId.ToLower()); if (staff == null) { Student stu = context.Students.FirstOrDefault(x => x.StudentId.ToLower() == this.EntityId.ToLower()); if (stu == null) { ValidationReport = string.Format("{0} is not a valida student or staff id", this.EntityId); ValidationStatus = ImportRecordStatus.danger; return; } else _userKey = stu.StudentKey; } else _userKey = staff.StaffKey; // ---------- Validate Fields try { AnvilEntity e = new AnvilEntity(this); e.RequiredFields.Add("StaffId"); e.RequiredFields.Add("UserName"); e.RequiredFields.Add("Password"); e.Validate(); } catch (Exception ex) { AnvilExceptionCollector ec = new AnvilExceptionCollector(ex); ValidationReport = ec.ToLineBreakString(); ValidationStatus = ImportRecordStatus.danger; return; } // ---------- Validate Password if(this.Password.Length < 6) { ValidationReport = "The password must contain at least 6 characters"; ValidationStatus = ImportRecordStatus.danger; return; } ValidationReport = "Validated"; ValidationStatus = ImportRecordStatus.success; }
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; } }