/**
  * Save a new expense.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $receipt = $request->file('receipt_url');
     if ($receipt) {
         $filename = time() . '.' . $receipt->getClientOriginalExtension();
         $filepath = '/receipts/' . $filename;
         if (!Storage::disk('s3')->put($filepath, file_get_contents($receipt), 'public')) {
             $filename = '';
         }
     }
     $this->validate($request, ['amount' => 'required']);
     if ($request->purchase_date) {
         $request->purchase_date = date('Y-m-d', strtotime($request->purchase_date));
     }
     if (!$request->id) {
         Expense::create(['store_id' => $request->store_id, 'amount' => $request->amount, 'purchase_date' => $request->purchase_date, 'notes' => $request->notes, 'receipt_url' => isset($filepath) ? $filepath : '']);
     } else {
         $purchase = Expense::find($request->id);
         $purchase->notes = $request->notes;
         $purchase->store_id = $request->store_id;
         $purchase->amount = $request->amount;
         $purchase->purchase_date = $request->purchase_date;
         if ($receipt) {
             $purchase->receipt_url = $filepath;
         }
         $purchase->save();
     }
     return redirect('/expense');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $data = $request->toArray();
     $data['amount'] = preg_replace("/[^0-9\\.]/", "", $data['amount']);
     Expense::create($data);
     return redirect('/expense');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(CreateExpenseRequest $request)
 {
     //
     $input = Request::all();
     $id = $input['project_id'];
     Expense::create(['project_id' => $input['project_id'], 'item' => $input['item'], 'amount' => $input['amount'], 'balance' => $input['balance'], 'comment' => $input['comment']]);
     flash()->success('Expense has been successfully created!');
     return redirect()->action('ProjectsController@show', [$id]);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $validate = Validator::make($request->all(), ['name' => 'required']);
     if ($validate->fails()) {
         return ["error" => $validate->errors()->all()];
     } else {
         Expense::create($request->all());
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $input = Request::all();
     if (is_numeric($input['amount'])) {
         Expense::create($input);
         return response()->make($input, 200);
     } else {
         return response()->make('Amount must be numeric', 400);
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $expense = Expense::create($request->only(['description', 'base_amount']));
     if ($request->has('name')) {
         $supplements = $this->parseSupplements($request);
         // now we save the models to the database
         foreach ($supplements as $id => $supplement) {
             $expense->supplements()->create($supplement);
         }
     }
     // all saved and good to go
     return redirect()->route('expenses.index')->with('success', 'Successfully created a new expense');
 }
 public function storeExpense($reportId, AddExpenseRequest $request)
 {
     $report = ExpenseReport::find($reportId);
     $input = $request->all();
     $input['report_id'] = $reportId;
     $input['owner_id'] = \Auth::user()->id;
     $input['amount'] = 0;
     $input['usage_total'] = 0;
     $expense = Expense::create($input);
     $this->modifyAndSaveExpense($expense, $report, $input);
     session()->flash('message', 'Expense (' . $expense->title . ') added!');
     return redirect('expenseReports/' . $reportId);
 }
 public function storepayment(CreatePaymentRequest $request)
 {
     $hour = Hour::find($request->employee_id);
     $hourspaid = $hour->where('amount_paid', '=', '')->where('employee_id', '=', $request->employee_id)->sum('hours');
     $hours = Hour::where('employee_id', '=', $request->employee_id)->where('amount_paid', '=', '')->groupBy('project_id')->get();
     foreach ($hours as $hour) {
         Expense::create(['project_id' => $hour->project_id, 'employee_id' => $request->employee_id, 'paid_on' => $request->paid_on, 'amount_paid' => round($request->amount_paid / $hourspaid * $hour->where('project_id', '=', $hour->project->id)->where('amount_paid', '=', '')->where('employee_id', '=', $request->employee_id)->sum('hours'), 2), 'reimbursment' => 2, 'office' => 2]);
     }
     $hours = Hour::where('employee_id', '=', $request->employee_id)->where('amount_paid', '=', '')->get();
     foreach ($hours as $hour) {
         $update = Hour::where('id', '=', $hour->id)->update(['amount_paid' => round($request->amount_paid / $request->hours * $hour->hours, 2)]);
     }
     //add a Pay Check table and send all $request info over
     return view('hours.createpayment', compact('hours', 'hour', 'hourspaid'));
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     // Define first day of current month.
     $date = date('Y-m') . '-01';
     // Get all the branches.
     $branches = Branch::all();
     foreach ($branches as $branch) {
         // Try to get expense.
         $expense = Expense::where('BranchId', '=', $branch->Id)->where('Date', '=', $date)->first();
         if (!$expense) {
             $default = json_decode($branch->DefaultExpenses);
             if ($default->regimen == 'cuotafija') {
                 Expense::create(array('Date' => $date, 'BranchId' => $branch->Id, 'Electricity' => $default->electricity, 'Water' => $default->water, 'Telecommunications' => $default->phone, 'Rent' => $default->rent, 'Depreciation' => $default->depreciation, 'Security' => $default->security, 'Government' => $default->government, 'Taxes' => $default->taxes, 'Regimen' => $default->regimen, 'TaxesSettled' => 1));
             } else {
                 Expense::create(array('Date' => $date, 'BranchId' => $branch->Id, 'Electricity' => $default->electricity, 'Water' => $default->water, 'Telecommunications' => $default->phone, 'Rent' => $default->rent, 'Depreciation' => $default->depreciation, 'Security' => $default->security, 'Government' => $default->government, 'Taxes' => $default->taxes, 'Regimen' => $default->regimen, 'TaxesSettled' => 0));
             }
         }
     }
 }
 public function store(ExpenseRequest $request)
 {
     if ($request->hasFile('file')) {
         $file = $request->file('file');
         $name = time() . 'expense.' . $file->guessClientExtension();
         $file->move('docs/expenses', $name);
         $requests = Expense::create($request->all());
         $file = $request->file('file');
         $name = time() . '_expense.' . $file->guessClientExtension();
         $url = Expense::latest()->first();
         $url->receipt_url = $name;
         $url->save();
     } else {
         Expense::create($request->all());
     }
     $expense = Expense::latest()->first();
     $project = Project::find($expense->project_id);
     \Session::flash('flash_message', 'Expense for $' . $expense->amount_paid . ' was added for ' . $project->project_name . ' project.');
     return redirect('expenses');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $expense = Expense::create($request->all());
     return response()->json(['success' => true, 'message' => 'Expense Record Created.', 'expense' => $expense]);
 }