public static bool AppraisalStageManager(List<DTO.Cycle.Cycle> cycles, List<DTO.Appraisal.Appraisal> appraisals, List<DTO.Core.Task.Task> newTasks, List<DTO.Core.Task.Task> deleteTasks) { bool boo_success = false; PMS.Model.Context.PMSEntities dc_pms = new PMS.Model.Context.PMSEntities(); Model.Context.PMS_CYCLE ent_cycle; Model.Context.PMS_APPRAISAL ent_appraisal; if (!Lib.Utility.Common.IsNullOrEmptyList(cycles)) { foreach (Model.DTO.Cycle.Cycle obj_cycle in cycles) { ent_cycle = (from cyc in dc_pms.PMS_CYCLE where cyc.ID == obj_cycle.Id select cyc).Single(); ent_cycle.STAGE_ID = obj_cycle.Stage.Id; } } if (!Lib.Utility.Common.IsNullOrEmptyList(appraisals)) { foreach (DTO.Appraisal.Appraisal obj_appraisal in appraisals) { ent_appraisal = (from appr in dc_pms.PMS_APPRAISAL where appr.ID == obj_appraisal.Id select appr).Single(); ent_appraisal.STAGE_ID = obj_appraisal.Stage.Id; ent_appraisal.STATUS_ID = obj_appraisal.Status.Id; ent_appraisal.LOCKED = obj_appraisal.Locked; if (!Lib.Utility.Common.IsNullOrEmptyList(obj_appraisal.Trails)) { foreach (Model.DTO.Appraisal.Trail obj_trail in obj_appraisal.Trails) { if (obj_trail.Id == 0) { dc_pms.PMS_APPRAISAL_TRAIL.AddObject(Mappers.PMSMapper.MapAppraisalTrailDTOToEntity(obj_trail)); } } } } } dc_pms.SaveChanges(); if (!Lib.Utility.Common.IsNullOrEmptyList(newTasks)) { foreach (DTO.Core.Task.Task obj_task in newTasks) { Model.Context.TASK ent_task = Mappers.CoreMapper.MapTaskDTOToEntity(obj_task); dc_pms.TASKs.AddObject(ent_task); dc_pms.SaveChanges(); foreach (DTO.Core.Task.Owner obj_owner in obj_task.Owners) { Model.Context.TASK_OWNER ent_owner = Mappers.CoreMapper.MapTaskOwnerDTOToEntity(obj_owner); ent_owner.TASK_ID = ent_task.ID; dc_pms.TASK_OWNER.AddObject(ent_owner); } } dc_pms.SaveChanges(); } if (!Lib.Utility.Common.IsNullOrEmptyList(deleteTasks)) { foreach (DTO.Core.Task.Task obj_task in deleteTasks) { dc_pms.DeleteObject(Mappers.CoreMapper.MapTaskDTOToEntity(obj_task)); } dc_pms.SaveChanges(); } boo_success = true; return boo_success; }
public static bool UpdateAppraisalAndTask(PMS.Model.DTO.Appraisal.Appraisal appraisal, List<DTO.Core.Task.Task> completedTasks, List<DTO.Core.Task.Task> newTasks, out string message) { bool boo_success = false; message = string.Empty; PMS.Model.Context.PMSEntities dc_pms = new PMS.Model.Context.PMSEntities(); try { Model.Context.PMS_APPRAISAL entity_appraisal = (from ent_appraisal in dc_pms.PMS_APPRAISAL where ent_appraisal.ID == appraisal.Id select ent_appraisal).SingleOrDefault(); entity_appraisal.STAGE_ID = appraisal.Stage.Id; entity_appraisal.STATUS_ID = appraisal.Status.Id; foreach (DTO.Core.Task.Task obj_task in completedTasks) { Model.Context.TASK entity_task = (from ent_task in dc_pms.TASKs where ent_task.ID == obj_task.Id select ent_task).SingleOrDefault(); entity_task.STATUS_ID = obj_task.Status.Id; } foreach (DTO.Core.Task.Task obj_task in newTasks) { Model.Context.TASK entity_task = Mappers.CoreMapper.MapTaskDTOToEntity(obj_task); dc_pms.TASKs.AddObject(entity_task); foreach (DTO.Core.Task.Owner obj_owner in obj_task.Owners) { Model.Context.TASK_OWNER entity_owner = Model.Mappers.CoreMapper.MapTaskOwnerDTOToEntity(obj_owner); entity_owner.TASK_ID = entity_task.ID; dc_pms.TASK_OWNER.AddObject(entity_owner); } } foreach (Model.DTO.Appraisal.Trail dto_appraisal_trail in appraisal.Trails) { if (dto_appraisal_trail.Id < 1) { Model.Context.PMS_APPRAISAL_TRAIL entity_appraisal_trail = Model.Mappers.PMSMapper.MapAppraisalTrailDTOToEntity(dto_appraisal_trail); entity_appraisal_trail.APPRAISAL_ID = entity_appraisal.ID; dc_pms.PMS_APPRAISAL_TRAIL.AddObject(entity_appraisal_trail); } } var lst_kpi_comments = dc_pms.PMS_APPRAISAL_KPI_COMMENT.Where(rec => rec.FORM_SAVE_ONLY == true); if (!Lib.Utility.Common.IsNullOrEmptyList(lst_kpi_comments)) { foreach (Context.PMS_APPRAISAL_KPI_COMMENT ent_comment in lst_kpi_comments) { if (string.IsNullOrEmpty(ent_comment.COMMENT)) { dc_pms.DeleteObject(ent_comment); } else { ent_comment.FORM_SAVE_ONLY = false; } } } var lst_core_value_comments = dc_pms.PMS_APPRAISAL_CORE_VALUE_COMMENT.Where(rec => rec.FORM_SAVE_ONLY == true); if (!Lib.Utility.Common.IsNullOrEmptyList(lst_core_value_comments)) { foreach (Context.PMS_APPRAISAL_CORE_VALUE_COMMENT ent_comment in lst_core_value_comments) { if (string.IsNullOrEmpty(ent_comment.COMMENT)) { dc_pms.DeleteObject(ent_comment); } else { ent_comment.FORM_SAVE_ONLY = false; } } } var lst_performance_coaching_comments = dc_pms.PMS_APPRAISAL_PERFORMANCE_COACHING_COMMENT.Where(rec => rec.FORM_SAVE_ONLY == true); if (!Lib.Utility.Common.IsNullOrEmptyList(lst_performance_coaching_comments)) { foreach (Context.PMS_APPRAISAL_PERFORMANCE_COACHING_COMMENT ent_comment in lst_performance_coaching_comments) { if (string.IsNullOrEmpty(ent_comment.COMMENT)) { dc_pms.DeleteObject(ent_comment); } else { ent_comment.FORM_SAVE_ONLY = false; } } } var lst_career_development_comments = dc_pms.PMS_APPRAISAL_CAREER_DEVELOPMENT_COMMENT.Where(rec => rec.FORM_SAVE_ONLY == true); if (!Lib.Utility.Common.IsNullOrEmptyList(lst_career_development_comments)) { foreach (Context.PMS_APPRAISAL_CAREER_DEVELOPMENT_COMMENT ent_comment in lst_career_development_comments) { if (string.IsNullOrEmpty(ent_comment.COMMENT)) { dc_pms.DeleteObject(ent_comment); } else { ent_comment.FORM_SAVE_ONLY = false; } } } dc_pms.SaveChanges(); boo_success = true; } catch (Exception exc) { message = exc.Message; } finally { dc_pms.Dispose(); } return boo_success; }