Advertisement
sp_Showrav

ExpanseController

Jul 28th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.65 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers\Project;
  4.  
  5. use App\InExTransaction;
  6. use App\InExCat;
  7. use App\Projects;
  8. use App\ProjectTransaction;
  9. use Illuminate\Http\Request;
  10. use App\Http\Controllers\Controller;
  11. use Illuminate\Support\Facades\DB;
  12.  
  13. class ExpanseController extends Controller
  14. {
  15.     public function index(){
  16.         $table = InExTransaction::where('projectID', session('projectID'))->orderBy('inexpTransactionID', 'DESC')->get();
  17.         $expcat = InExCat::where('projectID', session('projectID'))->orderBy('inexpCatID', 'DESC')->get();
  18.         return view('projectExpense.projectExpTransaction')->with(['table'=>$table, 'expcat'=>$expcat]);
  19.     }
  20.  
  21.     public function save(Request $request){
  22.         DB::beginTransaction();
  23.         try {
  24.  
  25.         if($request->amountOut > 0){
  26.             $table = new InExTransaction();
  27.             $table->inexpCatID = $request->inexpCatID;
  28.             $table->amountOut = $request->amountOut;
  29.             $table->descriptions = $request->descriptions;
  30.             $table->projectID = session('projectID');
  31.             $table->transactionType = 'OUT';
  32.             $table->save();
  33.             $inexpTransactionID = $table->inexpTransactionID;
  34.  
  35.             //**********Project********
  36.             $project = Projects::find(session('projectID'));
  37.             $old_blance = $project->balance;
  38.             $new_blance = $old_blance - $request->amountOut;
  39.             $project->balance = $new_blance;
  40.             $project->save();
  41.             //**********/Project********
  42.  
  43.             //**********Project Transaction********
  44.             $p_transaction = new ProjectTransaction();
  45.             $p_transaction->projectID = session('projectID');
  46.             $p_transaction->amountOut = $request->amountOut;
  47.             $p_transaction->transactionType = 'OUT';
  48.             $p_transaction->descriptions = serialize(['sector'=>'Expanse', 'ref' => $inexpTransactionID, 'description' => $request->descriptions]);
  49.             $p_transaction->save();
  50.             //**********/Project Transaction********
  51.         }
  52.  
  53.  
  54.             DB::commit();
  55.         } catch (\Throwable $e) {
  56.             DB::rollback();
  57.             throw $e;
  58.         }
  59.  
  60.         return redirect()->back()->with(config('custom.save'));
  61.     }
  62.     public function edit(Request $request)
  63.     {
  64.         DB::beginTransaction();
  65.         try {
  66.             if($request->amountOut > 0){
  67.         $table= InExTransaction::find($request->id);
  68.  
  69.         $pre_amount = $table->amountOut;
  70.         $table->inexpCatID = $request->inexpCatID;
  71.         $table->amountOut = $request->amountOut;
  72.         $table->descriptions = $request->descriptions;
  73.         $table->save();
  74.  
  75.         $projectID = $table->projectID;
  76.  
  77.         //**********Project Category********
  78.         $project = Projects::find($projectID);
  79.         $old_blance = $project->balance + $pre_amount;
  80.         $new_blance = $old_blance - $request->amountOut;
  81.         $project->balance = $new_blance;
  82.         $project->save();
  83.         //**********/Project Category********
  84.  
  85.         //**********Project Transaction********
  86.         ProjectTransaction::where('projectID', $projectID)
  87.             ->where('descriptions','like', '%sector%Expanse%ref%'.$request->id.'%')
  88.             ->update([
  89.                 'amountOut' => $request->amountOut,
  90.                 'descriptions' => serialize(['sector'=>'Expanse', 'ref' => $request->id, 'description' => $request->descriptions])
  91.             ]);
  92.         //**********/Project Transaction********
  93.             }
  94.  
  95.             DB::commit();
  96.         } catch (\Throwable $e) {
  97.             DB::rollback();
  98.             throw $e;
  99.         }
  100.  
  101.         return redirect()->back()->with(config('custom.edit'));
  102.     }
  103.  
  104.     public function del($id){
  105.         DB::beginTransaction();
  106.         try {
  107.  
  108.         $table = InExTransaction::find($id);
  109.         $pre_amount = $table->amountOut;
  110.         $projectID = $table->projectID;
  111.         $table->delete();
  112.  
  113.         //**********Project********
  114.         $project = Projects::find($projectID);
  115.         $old_blance = $project->balance;
  116.         $new_blance = $old_blance + $pre_amount;
  117.         $project->balance = $new_blance;
  118.         $project->save();
  119.         //**********/Project********
  120.  
  121.         //**********Project Transaction********
  122.         ProjectTransaction::where('projectID', $projectID)
  123.             ->where('descriptions','like', '%sector%Expanse%ref%'.$id.'%')
  124.             ->delete();
  125.         //**********/Project Transaction********
  126.  
  127.             DB::commit();
  128.         } catch (\Throwable $e) {
  129.             DB::rollback();
  130.             throw $e;
  131.         }
  132.  
  133.         return redirect()->back()->with(config('custom.del'));
  134.     }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement