Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }