Exemplo n.º 1
0
        public async Task <VerifyRecordResult> DeleteAsync(int id)
        {
            try
            {
                CleanTrackingHelper.Clean <PolicyHeader>(context);
                PolicyHeader item = await context.PolicyHeader
                                    .AsNoTracking()
                                    .FirstOrDefaultAsync(x => x.Id == id);

                if (item == null)
                {
                    return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法刪除紀錄));
                }
                else
                {
                    CleanTrackingHelper.Clean <PolicyHeader>(context);
                    context.Entry(item).State = EntityState.Deleted;
                    await context.SaveChangesAsync();

                    CleanTrackingHelper.Clean <PolicyHeader>(context);
                    return(VerifyRecordResultFactory.Build(true));
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex, "刪除記錄發生例外異常");
                return(VerifyRecordResultFactory.Build(false, "刪除記錄發生例外異常", ex));
            }
        }
Exemplo n.º 2
0
        public async Task <VerifyRecordResult> UpdateAsync(PolicyHeaderAdapterModel paraObject)
        {
            try
            {
                PolicyHeader itemData = Mapper.Map <PolicyHeader>(paraObject);
                CleanTrackingHelper.Clean <PolicyHeader>(context);
                PolicyHeader item = await context.PolicyHeader
                                    .AsNoTracking()
                                    .FirstOrDefaultAsync(x => x.Id == paraObject.Id);

                if (item == null)
                {
                    return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法修改紀錄));
                }
                else
                {
                    CleanTrackingHelper.Clean <PolicyHeader>(context);
                    context.Entry(itemData).State = EntityState.Modified;
                    await context.SaveChangesAsync();

                    CleanTrackingHelper.Clean <PolicyHeader>(context);
                    return(VerifyRecordResultFactory.Build(true));
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex, "修改記錄發生例外異常");
                return(VerifyRecordResultFactory.Build(false, "修改記錄發生例外異常", ex));
            }
        }
Exemplo n.º 3
0
        public async Task <PolicyHeaderAdapterModel> GetAsync(int id)
        {
            PolicyHeader item = await context.PolicyHeader
                                .AsNoTracking()
                                .FirstOrDefaultAsync(x => x.Id == id);

            PolicyHeaderAdapterModel result = Mapper.Map <PolicyHeaderAdapterModel>(item);

            await OhterDependencyData(result);

            return(result);
        }
Exemplo n.º 4
0
        public async Task EnableIt(PolicyHeaderAdapterModel paraObject)
        {
            await Task.Delay(100);

            PolicyHeader curritem = await context.PolicyHeader
                                    .AsNoTracking()
                                    .FirstOrDefaultAsync(x => x.Id == paraObject.Id);

            CleanTrackingHelper.Clean <PolicyHeader>(context);
            curritem.Enable = true;
            context.Entry(curritem).State = EntityState.Modified;
            await context.SaveChangesAsync();

            CleanTrackingHelper.Clean <PolicyHeader>(context);
            return;
        }
Exemplo n.º 5
0
        public async Task <VerifyRecordResult> AddAsync(PolicyHeaderAdapterModel paraObject)
        {
            try
            {
                CleanTrackingHelper.Clean <PolicyHeader>(context);
                PolicyHeader itemParameter = Mapper.Map <PolicyHeader>(paraObject);
                CleanTrackingHelper.Clean <PolicyHeader>(context);
                await context.PolicyHeader
                .AddAsync(itemParameter);

                await context.SaveChangesAsync();

                CleanTrackingHelper.Clean <PolicyHeader>(context);
                return(VerifyRecordResultFactory.Build(true));
            }
            catch (Exception ex)
            {
                Logger.LogError(ex, "新增記錄發生例外異常");
                return(VerifyRecordResultFactory.Build(false, "新增記錄發生例外異常", ex));
            }
        }
Exemplo n.º 6
0
        async Task 建立簽核政策Async()
        {
            List <PolicyDetail> policyDetail = new List <PolicyDetail>();
            var allUsers = await context.MyUser.ToListAsync();

            #region 稽核室簽核流程
            var policyHeader = new PolicyHeader()
            {
                Name   = "稽核室簽核流程",
                Enable = true,
            };
            await context.PolicyHeader.AddAsync(policyHeader);

            await context.SaveChangesAsync();

            policyDetail = new List <PolicyDetail>()
            {
                new PolicyDetail()
                {
                    Name           = "主任",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user10").Id,
                },
                new PolicyDetail()
                {
                    Name           = "課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user11").Id,
                },
                new PolicyDetail()
                {
                    Name           = "副課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user12").Id,
                },
                new PolicyDetail()
                {
                    Name           = "經理",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user13").Id,
                },
            };
            await context.BulkInsertAsync(policyDetail);

            #endregion

            #region 稽核室簽核流程(都有副本)
            policyHeader = new PolicyHeader()
            {
                Name   = "稽核室簽核流程(都有副本)",
                Enable = true,
            };
            await context.PolicyHeader.AddAsync(policyHeader);

            await context.SaveChangesAsync();

            policyDetail = new List <PolicyDetail>()
            {
                new PolicyDetail()
                {
                    Name           = "主任",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user10").Id,
                },
                new PolicyDetail()
                {
                    Name           = "組長",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user1").Id,
                },
                new PolicyDetail()
                {
                    Name           = "課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user11").Id,
                },
                new PolicyDetail()
                {
                    Name           = "副課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user12").Id,
                },
                new PolicyDetail()
                {
                    Name           = "經理",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user13").Id,
                },
                new PolicyDetail()
                {
                    Name           = "總經理",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user13").Id,
                },
            };
            await context.BulkInsertAsync(policyDetail);

            #endregion

            #region 稽核室簽核流程(有副本與會簽)
            policyHeader = new PolicyHeader()
            {
                Name   = "稽核室簽核流程(有副本與會簽)",
                Enable = true,
            };
            await context.PolicyHeader.AddAsync(policyHeader);

            await context.SaveChangesAsync();

            policyDetail = new List <PolicyDetail>()
            {
                new PolicyDetail()
                {
                    Name           = "主任",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user10").Id,
                },
                new PolicyDetail()
                {
                    Name           = "組長",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user1").Id,
                },
                new PolicyDetail()
                {
                    Name           = "課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user11").Id,
                },
                new PolicyDetail()
                {
                    Name           = "總務課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user14").Id,
                },
                new PolicyDetail()
                {
                    Name           = "副課長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user12").Id,
                },
                new PolicyDetail()
                {
                    Name           = "經理",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user13").Id,
                },
                new PolicyDetail()
                {
                    Name           = "總經理",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user13").Id,
                },
            };
            await context.BulkInsertAsync(policyDetail);

            #endregion

            #region 異常問題簽核流程
            policyHeader = new PolicyHeader()
            {
                Name   = "異常問題簽核流程",
                Enable = true,
            };
            await context.PolicyHeader.AddAsync(policyHeader);

            await context.SaveChangesAsync();

            policyDetail = new List <PolicyDetail>()
            {
                new PolicyDetail()
                {
                    Name           = "現場領班",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user15").Id,
                },
                new PolicyDetail()
                {
                    Name           = "廠長",
                    Enable         = true,
                    Level          = 2,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user16").Id,
                },
                new PolicyDetail()
                {
                    Name           = "總經理",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = true,
                    MyUserId       = allUsers.First(x => x.Account == "user17").Id,
                },
                new PolicyDetail()
                {
                    Name           = "處長",
                    Enable         = true,
                    Level          = 3,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user18").Id,
                },
            };
            await context.BulkInsertAsync(policyDetail);

            #endregion

            #region 一般事項簽核流程
            policyHeader = new PolicyHeader()
            {
                Name   = "一般事項簽核流程",
                Enable = true,
            };
            await context.PolicyHeader.AddAsync(policyHeader);

            await context.SaveChangesAsync();

            policyDetail = new List <PolicyDetail>()
            {
                new PolicyDetail()
                {
                    Name           = "主任",
                    Enable         = true,
                    Level          = 1,
                    PolicyHeaderId = policyHeader.Id,
                    OnlyCC         = false,
                    MyUserId       = allUsers.First(x => x.Account == "user10").Id,
                },
            };
            await context.BulkInsertAsync(policyDetail);

            #endregion
        }