예제 #1
0
        public IActionResult FlattenAllHplPhongBan()
        {
            var result = _abpHplDb.FlattenAllHplPhongBan();

            return(Ok(result));
            //return JsonSerializer.Serialize(AbpServices.FlattenAllHplPhongBan());
        }
예제 #2
0
        public async Task <IActionResult> Post([FromBody] HplPhongBan pb)
        {
            var item = await _abpHplDb.HplPhongBans.FirstOrDefaultAsync(x => x.MaPhongBan == pb.MaPhongBan);

            if (item != null)
            {
                return(Ok(new ApiErrorItem(ApiErrorCode.Generic, "Đã tồn tại mã Đơn vị, không thể thêm mới")
                {
                    FieldName = "MaPhongBan"
                }));
            }

            var item2 = await _abpHplDb.HplPhongBanFlattens.FirstOrDefaultAsync(x => x.MaPhongBanChild == pb.MaPhongBan);

            if (item2 != null)
            {
                return(Ok(new ApiErrorItem(ApiErrorCode.Generic, "Mã đơn vị này đang là con của một Đơn vị khác, không thể thêm mới")
                {
                    FieldName = "MaPhongBan"
                }));
            }

            var hrmPb = await _iHrmDbContext.PhongBans.FirstOrDefaultAsync(x => x.MaPhongBan == pb.MaPhongBan);

            if (hrmPb == null)
            {
                return(Ok(new ApiErrorItem(ApiErrorCode.Generic, "Không tồn tại Mã đơn vị này trên HRM")
                {
                    FieldName = "MaPhongBan"
                }));
            }

            //Bổ sung data
            //public int PhongBanId { get; set; } // PhongBanId
            pb.PhongBanId = hrmPb.PhongBanId;
            //public string MaPhongBan { get; set; } // MaPhongBan (length: 50)
            //public int? PhongBanParentId { get; set; } // PhongBanParentId
            pb.PhongBanParentId = hrmPb.PhongBanChaId;
            //public string TenPhongBan { get; set; } // TenPhongBan (length: 512)
            pb.TenPhongBan = hrmPb.Ten;
            //public DateTime? CreationTime { get; set; } // CreationTime
            pb.CreationTime = DateTime.Now;
            //public string MailingList { get; set; } // MailingList (length: 512)
            //public DateTime? LastSyncToAd { get; set; } // LastSyncToAd
            pb.LastSyncToAd = DateTime.Now;

            //LẤY THÔNG TIN TRÊN SALE ONLINE
            var branch = await _saleDb.Branches.FirstOrDefaultAsync(x => x.BranchCode == pb.MaPhongBan);

            if (branch != null)
            {
                //public int? BranchId { get; set; } // BranchID
                pb.BranchId = branch.BranchId;
                //public string BranchCode { get; set; } // BranchCode (length: 512)
                pb.BranchCode = branch.BranchCode;
                //public string BranchName { get; set; } // BranchName (length: 512)
                pb.BranchName = branch.BranchName;
            }
            //public string EmailNotification { get; set; } // EmailNotification (length: 1024)

            try
            {
                await _abpHplDb.HplPhongBans.AddAsync(pb);

                await _abpHplDb.SaveChangesAsync();

                //FlattenAllHplPhongBan
                var result = _abpHplDb.FlattenAllHplPhongBan();
                //UpdateBranch
                var result2 = _abpHplDb.UpdateBranchSaleOnline();

                return(Ok(new ApiErrorItem(ApiErrorCode.Success, "Success")
                {
                    FieldName = "MaPhongBan"
                }));
            }
            catch (Exception e)
            {
                return(Ok(new ApiErrorItem(ApiErrorCode.Generic, "Lỗi: " + e.Message)
                {
                    FieldName = "MaPhongBan"
                }));
            }
        }