示例#1
0
        public static CreateWSModel GetCreateWSModelFromRefDB(string num)
        {
            Engagement result_0 = null;
            AdminAssistant adminAssistant = null;
            using (ReferenceDBContext db = new ReferenceDBContext())
            {
                using (var tran = db.Database.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
                {
                    result_0 = db.Engagements.Where(x => x.EngagementNumber.Equals(num, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();

                    if (result_0 != null)
                        adminAssistant = db.AdminAssistants.Where(x => x.PartnerEmployeeID.Equals(result_0.EPEmployeeId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                }
            }

            if (result_0 != null)
            {
                return new CreateWSModel
                {
                    ClientId = result_0.CustomerNumber,
                    EngDescription = result_0.EngagementDescription,
                    IsAuto = true,
                    EngNum = result_0.EngagementNumber,
                    KPMGOnly = true,
                    ManagerEmpId = result_0.EMEmployeeId,
                    PartnerEmpId = result_0.EPEmployeeId,
                    PartnerAssistanceEmpId = adminAssistant == null ? "" : adminAssistant.AssistantEmployeeId,
                };
            }

            Workspace result_1 = null;
            using (ReferenceDBContext db = new ReferenceDBContext())
            {
                using (var tran = db.Database.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
                {
                    result_1 = db.Workspaces.Where(x => x.EngagementNumber.Equals(num, StringComparison.OrdinalIgnoreCase) && x.Function.Equals("Audit", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                }
            }

            if (result_1 != null)
            {
                return new CreateWSModel
                {
                    ClientId = result_1.ClientID,
                    EngDescription = result_1.EngagementDescription,
                    IsAuto = true,
                    EngNum = result_1.EngagementNumber,
                    KPMGOnly = result_1.KPMGOnly.GetValueOrDefault(true),
                    ManagerEmpId = result_1.ManagerEmployeeId,
                    PartnerEmpId = result_1.PartnerEmployeeId,
                    PartnerAssistanceEmpId = result_1.AssistantEmployeeId,
                };
            }

            return null;
        }
 public PersonRepository(ReferenceDBContext context) : base(context)
 {
 }
示例#3
0
 public UOW(ReferenceDBContext context)
 {
     Context = context;
 }
示例#4
0
        public static bool IsEngFunctionAudit(CreateWSModel createWSModel)
        {
            using (ReferenceDBContext db = new ReferenceDBContext())
            {
                using (var tran = db.Database.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
                {
                    var result_00 = db.Engagements.Where(x => x.EngagementNumber.Equals(createWSModel.EngNum, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();

                    if (result_00 != null)
                    {
                        var result_01 = db.Functions.Where(x => x.FunctionName.Equals("Audit", StringComparison.OrdinalIgnoreCase)).Select(y => y.FucntionID).FirstOrDefault();

                        if (result_01 == null)
                        {
                            throw new KException("Audit Function not defined in Ref.Function table.");
                        }

                        var result_02 = db.DRMSUsers.Where(x => x.EmplID.Equals(createWSModel.PartnerEmpId, StringComparison.OrdinalIgnoreCase)).Select(y => y.GoFunction).FirstOrDefault();

                        if (result_02 == null)
                        {
                            throw new KException(string.Format("Partner[{0}] don't have Function defined in Ref.DRMSUsers.", createWSModel.PartnerEmpId));
                        }

                        if (!result_01.IsEquals(result_02))
                        {
                            throw new KException(string.Format("Partner[{0}] is not associated[GoFunction = {1}] with Audit[FunctionId = {2}] Ref.DRMSUsers.", createWSModel.PartnerEmpId, result_02, result_01));
                        }
                    }
                    else
                    {
                        var result_03 = db.Workspaces.Where(x => x.EngagementNumber.Equals(createWSModel.EngNum, StringComparison.OrdinalIgnoreCase) && x.Function.Equals("Audit", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();

                        if (result_03 == null)
                        {
                            throw new KException(string.Format("EngNum {0} is not an Audit Engagement", createWSModel.EngNum));
                        }
                    }
                }
            }

            return true;
        }
示例#5
0
 public RepositoryBase(ReferenceDBContext context)
 {
     Context = context;
 }