/// <summary> /// Hàm này để màn hình gọi xử lý thực thi giao dịch /// </summary> /// <param name="makh"></param> /// <param name="manv"></param> /// <param name="sotien"></param> /// <param name="noidung"></param> /// <param name="manguoinhan"></param> /// <param name="loaiGD"> /// 1: gui tien /// 2. rut tien /// 3. chuyen tien /// </param> /// <returns></returns> public ReturnObjValueBackEnd ThemMoiGiaoDich(string makh, string manv, decimal sotien, string noidung, string manguoinhan, int loaiGD) { retObjValueBackEnd = new ReturnObjValueBackEnd(); try { string macn = ""; decimal soduttk = 0; var ctx = new BankingContext(); // Lấy mã chi nhánh dựa vào mã nhân viên var query = from ct in ctx.NhanVien select ct; query = query.Where(p => p.MaNV.Equals(manv)); macn = query.ToList()[0].CNTrucThuoc; // Lấy số dư tài khoản dựa vào makh, manv, macn var queryTK = from tk in ctx.TaiKhoan where tk.MaKH.Equals(makh) && tk.MaNV.Equals(manv) && tk.MaCN.Equals(macn) select tk; soduttk = queryTK.ToList()[0].SoDu; if (loaiGD != 1) { if (soduttk < sotien) { retObjValueBackEnd.Message = "Số tiền giao dịch không hợp lệ."; retObjValueBackEnd.Success = true; return(retObjValueBackEnd); } } // add new table giaodich GiaoDich gd = new GiaoDich(); GiaoDichLogic gdLogic = new GiaoDichLogic(); gd.MaKH = makh; gd.SoTien = sotien; gd.NgayCapNhat = DateTime.Now; string maxIdGD = ""; maxIdGD = (from c in ctx.GiaoDich select c.MaGD).Max(); if (!string.IsNullOrEmpty(maxIdGD)) { int maxCurrent = Convert.ToInt16(maxIdGD.Substring(2, maxIdGD.Length - 2)); int maxNext = maxCurrent + 1; string magdaddnew = maxNext.ToString().PadLeft(4, '0'); gd.MaGD = "GD" + magdaddnew; } else { gd.MaGD = "GD0001"; } retObjValueBackEnd = gdLogic.InsertDeal(gd); if (retObjValueBackEnd.Success == false) { retObjValueBackEnd.Message = "Insert vào table giao dịch không thành công"; return(retObjValueBackEnd); } // add table ChTietGiaoDich ChiTietGiaoDich ctgd = new ChiTietGiaoDich(); CTGiaoDichLogic ctgdLogic = new CTGiaoDichLogic(); ctgd.MaGD = gd.MaGD; ctgd.MaKH = gd.MaKH; ctgd.NgayGD = gd.NgayCapNhat; ctgd.MaNV = manv; ctgd.MaCNNH = macn; ctgd.SoTienGD = sotien; ctgd.NoiDungGD = noidung; ctgd.MaTKNguoiNhan = noidung; ctgd.MaTKNguoiNhan = manguoinhan; retObjValueBackEnd = ctgdLogic.InsertDealDetail(ctgd); if (retObjValueBackEnd.Success == false) { retObjValueBackEnd.Message = "Insert vào table chi tiết giao dịch không thành công"; return(retObjValueBackEnd); } retObjValueBackEnd = ctgdLogic.InsertDealDetail(ctgd); // Cập nhật số tiền tại table TaiKoan TaiKhoan tkupdate = new TaiKhoan(); TaiKhoanLogic tkupdateLogic = new TaiKhoanLogic(); tkupdate = queryTK.ToList()[0]; tkupdate.SoDu = tkupdate.SoDu - (decimal)gd.SoTien; retObjValueBackEnd = tkupdateLogic.UpdateAccount(tkupdate); // Return mã giao dịch và số dư còn lại Transaction transaction = new Transaction(); transaction.MaGD = gd.MaGD; transaction.SoDuConLai = tkupdate.SoDu; retObjValueBackEnd.Data = transaction; return(retObjValueBackEnd); } catch (Exception ex) { retObjValueBackEnd.Success = false; retObjValueBackEnd.Message = ex.ToString(); return(retObjValueBackEnd); throw ex; } }
public ReturnObjValueBackEnd InsertCustomer(KhachHang customer, string manv) { retObjValueBackEnd = new ReturnObjValueBackEnd(); string macn = ""; try { using (var context = new BankingContext()) { string maxId = ""; maxId = (from c in context.KhachHang select c.MaKH).Max(); if (!string.IsNullOrEmpty(maxId)) { int maxCurrent = Convert.ToInt16(maxId.Substring(2, maxId.Length - 2)); int maxNext = maxCurrent + 1; string makh = maxNext.ToString().PadLeft(4, '0'); customer.MaKH = "KH" + makh; } else { customer.MaKH = "KH0001"; } context.KhachHang.Add(customer); context.SaveChanges(); retObjValueBackEnd.Success = true; // Lấy mã chi nhánh dựa vào mã nhân viên var query = from ct in context.NhanVien select ct; query = query.Where(p => p.MaNV.Equals(manv)); macn = query.ToList()[0].CNTrucThuoc; // Tạo tài khoản mới cho khách hàng vừa mới add mới. TaiKhoan tk = new TaiKhoan(); TaiKhoanLogic tklogic = new TaiKhoanLogic(); string maxIdTK = ""; maxIdTK = (from c in context.TaiKhoan select c.MaTK).Max(); if (!string.IsNullOrEmpty(maxIdTK)) { int maxCurrent = Convert.ToInt16(maxIdTK.Substring(2, maxId.Length - 2)); int maxNext = maxCurrent + 1; string matkaddnew = maxNext.ToString().PadLeft(4, '0'); tk.MaTK = "TK" + matkaddnew; } else { customer.MaKH = "TK0001"; } if (!string.IsNullOrEmpty(customer.cmnd)) { tk.SoTK = int.Parse(customer.cmnd); } else { tk.SoTK = 1234; } tk.MaKH = customer.MaKH; tk.NgayTao = DateTime.Now; tk.MaNV = manv; tk.MaCN = macn; tk.ChuThich = ""; tk.SoDu = 0; // add record retObjValueBackEnd = tklogic.InsertAccount(tk); // Return mã tài khoản retObjValueBackEnd.Data = tk.MaTK; return(retObjValueBackEnd); } } catch (Exception ex) { retObjValueBackEnd.Success = false; retObjValueBackEnd.Message = ex.ToString(); return(retObjValueBackEnd); throw ex; } }