public StaffNestedModel GetAllStaffAndChildByID(string staffIDparam) { StaffNestedModel staffWholeEntity = new StaffNestedModel(); Guid staffID = new Guid(staffIDparam); try { Staff staff = _dbContext.Staffs.Where(i => i.ID == staffID).FirstOrDefault(); List <Staff_JobHistory> staffJob = _dbContext.Staff_JobHistory.Where(i => i.StaffID == staffID).ToList(); var staffEducationHistory = _dbContext.Staff_EducationalHistory.Where(i => i.StaffID == staffID).ToList(); Staff_SkillCertificate staffSkillCertificate = _dbContext.Staff_SkillCertificate.Where(i => i.StaffID == staffID).FirstOrDefault(); var staffTechCertificate = _dbContext.Staff_TechnicalCertificate.Where(i => i.StaffID == staffID).ToList(); Staff_TranslateInterpretExperience staffTRExperience = _dbContext.Staff_TranslateInterpretExperience.Where(i => i.StaffID == staffID).FirstOrDefault(); Staff_BankAccountInfo staffBankPayment = _dbContext.Staff_BankAccountInfo.Where(i => i.StaffID == staffID).FirstOrDefault(); Staff_TransproInformation staffTransPro = _dbContext.Staff_TransproInformation.Where(i => i.StaffID == staffID).FirstOrDefault(); Staff_NarrationInformation staffNarration = _dbContext.Staff_NarrationInformation.Where(i => i.StaffID == staffID).FirstOrDefault(); staffWholeEntity.staff = Mapper.Map <Staff, StaffModel>(staff); foreach (Staff_JobHistory job in staffJob) { staffWholeEntity.staffJobHistory.Add(Mapper.Map <Staff_JobHistory, JobHistoryModel>(job)); } foreach (Staff_EducationalHistory eh in staffEducationHistory) { staffWholeEntity.staffEducationalHistory.EducationalInformation.Add(eh); } if (staffSkillCertificate != null) { staffWholeEntity.staffSkillCertificate.SkillCertificateModel = staffSkillCertificate; } foreach (Staff_TechnicalCertificate tc in staffTechCertificate) { staffWholeEntity.staffSkillCertificate.TechnicalCertificateModel.Add(tc); } staffWholeEntity.staffTRExperience = Mapper.Map <Staff_TranslateInterpretExperience, TranslateInterpretExperienceModel>(staffTRExperience); staffWholeEntity.staffBankAccountInfoModel = Mapper.Map <Staff_BankAccountInfo, StaffBankAccountInfoModel>(staffBankPayment); staffWholeEntity.transproInformationModel = Mapper.Map <Staff_TransproInformation, TransproInformationModel>(staffTransPro); staffWholeEntity.narrationInformationModel = Mapper.Map <Staff_NarrationInformation, NarrationInformationModel>(staffNarration); } catch (Exception ex) { throw new Exception(ex.Message); } return(staffWholeEntity); }
public bool SaveBankAccInfo(StaffBankAccountInfoModel staffBankAccountInfoModel) { var isSuccessful = true; Staff_BankAccountInfo staffBankAccountInfo = null; try { if (staffBankAccountInfoModel != null) { staffBankAccountInfo = Mapper.Map <StaffBankAccountInfoModel, Staff_BankAccountInfo>(staffBankAccountInfoModel); if (staffBankAccountInfo.ID == Guid.Empty) { staffBankAccountInfo.ID = Guid.NewGuid(); staffBankAccountInfo.CreatedBy = staffBankAccountInfoModel.CurrentUserID; staffBankAccountInfo.CreatedDate = DateTime.Now; _dbContext.Staff_BankAccountInfo.Add(staffBankAccountInfo); } else { staffBankAccountInfo.UpdatedBy = staffBankAccountInfoModel.CurrentUserID; staffBankAccountInfo.UpdatedDate = DateTime.Now; _dbContext.Entry(staffBankAccountInfo).State = EntityState.Modified; } } _dbContext.SaveChanges(); } catch (Exception ex) { isSuccessful = false; IErrorLogService errorLog = new ErrorLogService(); string message = ex.InnerException != null ? ex.InnerException.InnerException.Message : ex.Message; errorLog.SetErrorLog(staffBankAccountInfo.UpdatedBy.Value, "staffTRExperience", message); throw new Exception(message); } return(isSuccessful); }