//[Consumes("multipart/form-data")] public async Task <IActionResult> CreateDeXuat([FromBody] CreateDeXuatRequest request) { string MaNhanVien = post().MaNhanVien.ToString(); request.NhanVienDeXuat = MaNhanVien; var result = await _managerDeXuatThanhToanService.CreateDeXuat(request); if (result == null) { return(BadRequest()); } return(Created("ok", MaNhanVien)); }
//public Task<string> CreateDeXuat(CreateDeXuatRequest request) //{ //} public async Task <string> CreateDeXuat(CreateDeXuatRequest request) { var SoLuongNhanVien = from NV in _context.nhanVienCongTacs where NV.MaChuyenCongTac == request.MaChuyenCongTac select NV.MaNhanVien; var SoluongHoaDon = from HD in _context.thanhToans select HD.MaHoaDon; var SoDeXuat = from HD in _context.deXuatThanhToans select HD.MaDeXuat; var chuyenCongTac = await _context.chuyenCongTacs.FindAsync(request.MaChuyenCongTac); var checkCCT = from DX in _context.deXuatThanhToans select DX; foreach (var item in checkCCT) { if (item.MaChuyenCongTac == request.MaChuyenCongTac) { return(null); } } if (chuyenCongTac.TrangThai == "Chua thuc hien") { throw new TLUException("Chuyến Công tác chua xong không thể de xuat thanh toan"); } string soLuongDeXuat = SoDeXuat.Count().ToString(); do { soLuongDeXuat = (Convert.ToInt32(soLuongDeXuat) + 1).ToString(); }while (_context.deXuatThanhToans.Find("DX" + soLuongDeXuat) != null); var DeXuat = new DeXuatThanhToan() { MaDeXuat = "DX" + soLuongDeXuat, MaChuyenCongTac = request.MaChuyenCongTac, SoNhanVien = SoLuongNhanVien.Count(), TinhTrang = "Chua xet duyet", MaNhanVien = request.NhanVienDeXuat, TongTien = request.TongTien, ThoiGianDeXuat = DateTime.Now }; //var ChuyenCongTacdf = await _context.chuyenCongTacs.FirstOrDefaultAsync // (x => x.MaChuyenCongTac == request.MaChuyenCongTac); //ChuyenCongTacdf.TrangThai = "Da thuc hien"; string soLuongHoaDon = SoluongHoaDon.Count().ToString(); do { soLuongHoaDon = (Convert.ToInt32(soLuongHoaDon) + 1).ToString(); }while (_context.deXuatThanhToans.Find("HD" + soLuongHoaDon) != null); var ThanhToan = new ThanhToan() { MaHoaDon = "HD" + soLuongHoaDon, MaDeXuat = DeXuat.MaDeXuat, ThoiGianDeXuat = DeXuat.ThoiGianDeXuat, TinhTrang = "Chua xet duyet", TongChiPhi = request.TongTien }; //if (FileHoaDon != null) //{ // DeXuat.deXuatFiles = new List<DeXuatFile>() // { // new DeXuatFile() // { // FilePath= await this.SaveFile(FileHoaDon) // } // }; //} await _context.deXuatThanhToans.AddAsync(DeXuat); await _context.thanhToans.AddAsync(ThanhToan); await _context.SaveChangesAsync(); return(DeXuat.MaDeXuat); }