コード例 #1
0
        private void InsertOrDeleteThuTucCoQuanThucHien(ThuTucResult entity, TechOfficeEntities context)
        {
            if (entity.CoQuanThucHienIds != null && entity.CoQuanThucHienIds.Count() > 0)
            {
                //search all thutuc_coquanthuchien by thutucId
                var searchAll = context.ThuTuc_CoQuanThucHien.Where(x => x.ThuTucId == entity.Id);

                searchAll.ToList().ForEach(x =>
                {
                    if (!entity.CoQuanThucHienIds.Contains(x.CoQuanId))
                    {
                        context.Entry(x).State = EntityState.Deleted;
                    }
                });

                entity.CoQuanThucHienIds.ToList().ForEach(x =>
                {
                    if (!searchAll.Select(y => y.CoQuanId).Contains(x))//not exists
                    {
                        //then insert a record
                        var insert        = context.ThuTuc_CoQuanThucHien.Create();
                        insert.ThuTucId   = entity.Id;
                        insert.CoQuanId   = x;
                        insert.IsDeleted  = false;
                        insert.CreateDate = entity.CreateDate;
                        insert.CreatedBy  = entity.CreatedBy;

                        context.Entry(insert).State = EntityState.Added;
                    }
                });
            }
        }
コード例 #2
0
ファイル: Extension.cs プロジェクト: dinhnv86/TechOffice
        public static ThuTuc AddToDb(this ThuTucResult entity, TechOfficeEntities context)
        {
            var thutuc = context.ThuTucs.Create();

            thutuc.LoaiThuTucId = entity.LoaiThuTucId;
            thutuc.NgayBanHanh  = entity.NgayBanHanh;
            thutuc.TenThuTuc    = entity.TenThuTuc;
            thutuc.NoiDung      = entity.NoiDung;

            thutuc.IsDeleted  = false;
            thutuc.CreatedBy  = entity.CreatedBy;
            thutuc.CreateDate = DateTime.Now;

            context.Entry(thutuc).State = EntityState.Added;

            foreach (var item in entity.CoQuanThucHienIds)
            {
                var thuchien = new ThuTuc_CoQuanThucHien
                {
                    CoQuanId   = item,
                    ThuTucId   = thutuc.Id,
                    IsDeleted  = false,
                    CreatedBy  = thutuc.CreatedBy,
                    CreateDate = thutuc.CreateDate,
                };

                context.Entry(thuchien).State = EntityState.Added;
            }

            return(thutuc);
        }
コード例 #3
0
 public static ThuTucInfo ToDataInfo(this ThuTucResult entity)
 {
     return(new ThuTucInfo
     {
         Id = entity.Id,
         MaThuTuc = entity.NoiDung,
         TenThuTuc = entity.TenThuTuc,
         NgayBanHanh = entity.NgayBanHanh
     });
 }
コード例 #4
0
ファイル: Extension.cs プロジェクト: dinhnv86/TechOffice
        public static void UpdateToDb(this ThuTuc entity, ThuTucResult data, DbContext context)
        {
            entity.LoaiThuTucId = data.LoaiThuTucId;
            entity.NgayBanHanh  = data.NgayBanHanh;
            entity.TenThuTuc    = data.TenThuTuc;
            entity.NoiDung      = data.NoiDung;

            entity.IsDeleted     = data.IsDeleted;
            entity.LastUpdatedBy = data.LastUpdatedBy;
            entity.LastUpdated   = DateTime.Now;

            context.Entry(entity).State = EntityState.Modified;
        }
コード例 #5
0
        public async Task <SaveResult> DeleteAsync(ThuTucResult entity)
        {
            return(await ExecuteDbWithHandleAsync(_logService, async() =>
            {
                using (var context = new TechOfficeEntities())
                {
                    var tt = context.ThuTucs.Single(x => x.Id == entity.Id && x.IsDeleted == false);

                    tt.DeleteToDb(context, entity.LastUpdatedBy);

                    return await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;
                }
            }));
        }
コード例 #6
0
        public async Task <SaveResult> UpdateAsync(ThuTucResult entity)
        {
            return(await ExecuteDbWithHandleAsync(_logService, async() =>
            {
                using (var context = new TechOfficeEntities())
                {
                    var update = context.ThuTucs.Single(x => x.Id == entity.Id && x.IsDeleted == false);

                    update.UpdateToDb(entity, context);

                    InsertOrDeleteThuTucCoQuanThucHien(entity, context);

                    return await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;
                }
            }));
        }
コード例 #7
0
        public async Task <SaveResult> AddAsync(ThuTucResult entity)
        {
            return(await ExecuteDbWithHandleAsync(_logService, async() =>
            {
                using (var context = new TechOfficeEntities())
                {
                    using (var transaction = context.BeginTransaction())
                    {
                        entity.AddToDb(context);
                        var result = await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;

                        transaction.Commit();

                        return result;
                    }
                }
            }));
        }
コード例 #8
0
        public SaveResult Add(ThuTucResult entity)
        {
            return(ExecuteDbWithHandle(_logService, () =>
            {
                using (var context = new TechOfficeEntities())
                {
                    using (var transaction = context.BeginTransaction())
                    {
                        var add = entity.AddToDb(context);
                        var result = context.SaveChanges() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;

                        transaction.Commit();

                        entity.Id = add.Id;

                        return result;
                    }
                }
            }));
        }
コード例 #9
0
        public ActionResult Add(AddThuTucViewModel model)
        {
            var dataSave = new ThuTucResult
            {
                NoiDung           = model.NoiDung,
                TenThuTuc         = model.TenThuTuc,
                NgayBanHanh       = model.NgayBanHanh,
                LoaiThuTucId      = model.LinhVucThuTucId,
                CoQuanThucHienIds = model.CoQuanThucHienIds,
                CreatedBy         = UserName,
            };

            var result = ThuTucRepository.Add(dataSave);

            if (result == Services.SaveResult.SUCCESS && dataSave.Id > 0)
            {
                SaveFiles(dataSave.Id, model.Files);
            }

            return(RedirectToRoute(UrlLink.THUTUC_EDIT, new { tenthutuc = dataSave.TenThuTuc.RejectMarks(), id = dataSave.Id }));
        }
コード例 #10
0
 public static ThuTucInfo ToIfNotNullDataInfo(this ThuTucResult entity)
 {
     return(entity?.ToDataInfo());
 }