public async Task <dynamic> capNhatTrangThaiDonDatHang(DonDatHangUpdateStatus item) { using (var connection = new SqlConnection(connectionstr)) { IEnumerable <SanPhamSeriDDH> listSeri = null; string getDDH = "select * from CHITIETDONDATHANG WHERE MaDDH = " + item.MaDDH; listSeri = await connection.QueryAsync <SanPhamSeriDDH>(getDDH, commandType : CommandType.Text); if (item.TrangThai == -1) { await connection.OpenAsync(); using (SqlTransaction transaction = connection.BeginTransaction()) { string nhanVien = null; if (item.MaNV != null) { nhanVien = item.MaNV.ToString(); } //var transaction = connection.BeginTransaction(); try { var p = new DynamicParameters(); p.Add("@MaNV", nhanVien); p.Add("@TrangThai", item.TrangThai); p.Add("@NgayXuLy", item.NgayXuLy); p.Add("@ID", item.MaDDH); var updateDDH = @"DECLARE @TinhTrang INT SET @TinhTrang = (SELECT TinhTrang FROM DONDATHANG WHERE MaDDH=CONVERT(int, @ID)) IF @TinhTrang = 1 SET @TinhTrang = -1 UPDATE dbo.DONDATHANG SET MaNV=@MaNV, TrangThai=@TrangThai, TinhTrang=@TinhTrang, NgayXuLy = @NgayXuLy WHERE MaDDH = @ID"; //item connection.Execute(updateDDH, p, transaction); //return listSeri foreach (var itemSeri in listSeri) { var p2 = new DynamicParameters(); p2.Add("@MaSeri", itemSeri.MaSeri); var updateSeriSP = @"UPDATE dbo.SANPHAM SET TrangThai= 1 WHERE MaSeri= @MaSeri "; //item connection.ExecuteScalar(updateSeriSP, p2, transaction); } transaction.Commit(); } catch (Exception ex) { //Log the exception (ex) //System.Diagnostics.Debug.WriteLine(ex); try { transaction.Rollback(); } catch (Exception ex2) { // Handle any errors that may have occurred // on the server that would cause the rollback to fail, such as // a closed connection. // Log the exception ex2 var response = await tbl.TBLoi(ThongBaoLoi.Loi500, "Can not Rollback!"); return(response.Content); } var response2 = await tbl.TBLoi(ThongBaoLoi.Loi500, "Upadate status order fail"); return(response2.Content); } } } else { var p = new DynamicParameters(); p.Add("@ID", item.MaDDH); p.Add("@TrangThai", item.TrangThai); p.Add("@MaNV", item.MaNV); p.Add("@NgayXuLy", item.NgayXuLy); connection.Query <string>("SP_CAPNHATTRANGTHAIDDH", p, commandType: CommandType.StoredProcedure); } object result = await this.chiTietDonDatHangAD(item.MaDDH); return(result); } }
public async Task <IActionResult> capNhatTrangThaiDonDatHang(DonDatHangUpdateStatus item) { dynamic result = await _donDatHangRepository.capNhatTrangThaiDonDatHang(item); return(Ok(result)); }