コード例 #1
0
        public async Task <bool> MoSoTietKiemAsync(SoTietKiemRequest request)
        {
            try
            {
                var soTK = new SoTk();
                soTK.LoaiTietKiemId = request.LoaiTietKiemId;
                soTK.KhachHang      = request.KhachHang;
                soTK.Cmnd           = request.Cmnd;
                soTK.DiaChi         = request.DiaChi;
                soTK.NgayMoSo       = request.NgayMoSo;
                soTK.SoTienGui      = request.SoTienGui;
                soTK.SoDu           = request.SoTienGui;
                context.SoTk.Add(soTK);

                var phieuGuiTien = new PhieuGuiRutTien
                {
                    Mskh      = soTK.Mskh,
                    KhachHang = request.KhachHang,
                    SoTien    = request.SoTienGui,
                    Ngay      = DateTime.Now
                };
                context.PhieuGuiRutTien.Add(phieuGuiTien);
                context.SaveChanges();

                var loaiTK    = context.LoaiTietKiem.Find(request.LoaiTietKiemId);
                var chiTietSo = new ChiTietSoTietKiem
                {
                    PhieuGuiRutTienId = phieuGuiTien.Id,
                    Mskh           = soTK.Mskh,
                    NgayGui        = request.NgayMoSo,
                    SoTienGui      = request.SoTienGui,
                    LoaiTietKiemId = request.LoaiTietKiemId,
                    LaiSuat        = loaiTK.LaiSuat,
                    SoDuDauKy      = 0,
                    SoDuCuoiKy     = request.SoTienGui,
                    SoThangLaiSuat = 0,
                    SoNgayLaiSuat  = 0,
                    LaiSuatNgay    = 0,
                    NghiepVu       = "MO"
                };
                context.ChiTietSoTietKiem.Add(chiTietSo);

                return(await context.SaveChangesAsync() > 0);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
 public async Task <bool> ThemGuiRut(ThemGuiRutTienRequest request, SoTk soTietKiem, LoaiTietKiem loaiTietKiem, LoaiTietKiem khongKyHan, ChiTietSoTietKiem chitietSoTruoc)
 {
     if (request.Action == "GUI")
     {
         return(this.GuiRutTien(request, chitietSoTruoc, loaiTietKiem, khongKyHan, "GUI", soTietKiem));
     }
     else if (request.Action == "RUT")
     {
         request.Action = double.Parse(request.SoTien.ToString()) == soTietKiem.SoDu ? "DONG" : "RUT";
         request.SoTien = request.SoTien * -1;
         return(this.GuiRutTien(request, chitietSoTruoc, loaiTietKiem, khongKyHan, request.Action, soTietKiem));
     }
     else
     {
         return(false);
     }
 }
コード例 #3
0
        private bool AddChiTietSo(PhieuGuiRutTien phieuGuiTien, ChiTietSoTietKiem chitietSoTruoc, LoaiTietKiem loaitietkiem, LoaiTietKiem khongkyhan, string nghiepvu, SoTk soTietKiem)
        {
            var addChiTietSo = this.KhoiTaoChiTiet(phieuGuiTien, chitietSoTruoc, loaitietkiem, nghiepvu);

            addChiTietSo.NghiepVu = nghiepvu;

            int soNam   = phieuGuiTien.Ngay.Value.Year - chitietSoTruoc.NgayGui.Value.Year;
            int soThang = 0;

            if (soNam > 0)
            {
                soThang = phieuGuiTien.Ngay.Value.Month + 12 - chitietSoTruoc.NgayGui.Value.Month;
            }
            else
            {
                soThang = phieuGuiTien.Ngay.Value.Month - chitietSoTruoc.NgayGui.Value.Month;
            }
            var soNgay = Math.Abs(phieuGuiTien.Ngay.Value.Day - chitietSoTruoc.NgayGui.Value.Day);

            if (soThang > 0 && nghiepvu != "DONG")
            {
                addChiTietSo.SoThangLaiSuat = soThang;
                addChiTietSo.LaiSuatThang   = this.LaiThang(chitietSoTruoc.SoDuCuoiKy.Value, addChiTietSo.LaiSuat.Value / 100, (double)soThang);
                addChiTietSo.SoNgayLaiSuat  = 0;
                addChiTietSo.LaiSuatNgay    = 0;
            }
            if (soNgay > 0 && nghiepvu != "DONG")
            {
                addChiTietSo.SoNgayLaiSuat = (int)soNgay;
                addChiTietSo.LaiSuatNgay   = this.LaiNgay(chitietSoTruoc.SoDuCuoiKy.Value, khongkyhan.LaiSuat / 100, (double)soThang, soNgay);
            }

            if (nghiepvu == "RUT")
            {
                addChiTietSo.SoThangLaiSuat = soThang;
                addChiTietSo.LaiSuatThang   = this.LaiThang(chitietSoTruoc.SoDuCuoiKy.Value, addChiTietSo.LaiSuat.Value / 100, (double)soThang);
                addChiTietSo.SoNgayLaiSuat  = 0;
                addChiTietSo.LaiSuatNgay    = 0;
            }

            if (nghiepvu == "DONG")
            {
                addChiTietSo.SoThangLaiSuat = 0;
                addChiTietSo.LaiSuatThang   = 0;
                addChiTietSo.SoNgayLaiSuat  = 0;
                addChiTietSo.LaiSuatNgay    = 0;
            }

            addChiTietSo.SoDuCuoiKy = addChiTietSo.SoDuDauKy + addChiTietSo.LaiSuatThang + addChiTietSo.LaiSuatNgay;

            context.ChiTietSoTietKiem.Add(addChiTietSo);

            soTietKiem.SoDu = addChiTietSo.SoDuCuoiKy;
            if (nghiepvu == "DONG")
            {
                soTietKiem.NgayDongSo = DateTime.Now;
                soTietKiem.SoDu       = 0;
            }
            context.SoTk.Update(soTietKiem);
            return(context.SaveChanges() > 0);
        }
コード例 #4
0
        private bool GuiRutTien(ThemGuiRutTienRequest request, ChiTietSoTietKiem chitietSoTruoc, LoaiTietKiem loaitietkiem, LoaiTietKiem khongkyhan, string nghiepvu, SoTk soTietKiem)
        {
            var phieuGuiTien = this.TaoPhieuGuiRut(request);

            if (phieuGuiTien == null)
            {
                return(false);
            }

            var result = this.AddChiTietSo(phieuGuiTien, chitietSoTruoc, loaitietkiem, khongkyhan, nghiepvu, soTietKiem);

            return(result);
        }