Ejemplo n.º 1
0
 public function editpromo(Request $request, $id)
 {
     $updated_data = Request::all();
     $promocion = App\Promocion::find($id);
     $negocio = App\Negocio::find(Auth::user()->user->negocio)->nameConcatenated();
     try {
         // validamos que no se selecciono un nuevo volante
         if (!empty($updated_data['archivo'])) {
             $input = $updated_data['archivo'];
             $extension = $input->getClientOriginalExtension();
             $input->move(public_path() . '/negocios/' . $negocio . '/imgs' . '/', $updated_data['updated_flyer']);
             $promocion->nombre_promo = $updated_data['name_updated'];
             $promocion->descripcion_promo = $updated_data['desc_updated'];
             $promocion->img_promo = "../negocios/" . $negocio . "/imgs" . "//" . $updated_data['updated_flyer'];
             $promocion->valido_hasta = $updated_data['enddate_updated'];
             $promocion->save();
             return response()->json(["mensaje" => "¡Se han guardado los cambios en la promoción!"]);
         } else {
             $promocion->nombre_promo = $updated_data['name_updated'];
             $promocion->descripcion_promo = $updated_data['desc_updated'];
             $promocion->valido_hasta = $updated_data['enddate_updated'];
             $promocion->save();
             return response()->json(["mensaje" => "¡Se han guardado los cambios en la promoción pero el volante de la promoción no ha cambiado!"]);
         }
     } catch (Exception $e) {
         return response()->json(["mensaje" => "Ha ocurrido un error al modificar la promoción"]);
     }
 }
Ejemplo n.º 2
0
 public function actualizarPromocion(Request $request, $id)
 {
     //Estandar de promociones 1="PAgue en..." 2="PAgue en 6 quincenas" 3="Pague en  8 quincenas"
     $fechaHoy = Carbon::today();
     $promocionEditada = Promocion::find($id);
     //$promocionEditada->tipo_promocion = $request->input('tipo_promocion');
     $promocionEditada->fecha_creacion = $request->input('fecha_creacion');
     $promocionEditada->fecha_termino = $request->input('fecha_termino');
     if ($request->input('fecha_inicio') != NULL) {
         $promocionEditada->fecha_inicio = $request->input('fecha_inicio');
         $fechaInicioPagoPromoDB = $promocionEditada->fecha_inicio;
         $fechaInicioPagoNuevaCarbon = Carbon::parse($fechaInicioPagoPromoDB);
     }
     //var_dump($promocionEditada->fecha_termino);
     if ($request->input('numero_pagos') != NULL) {
         $promocionEditada->numero_pagos = $request->input('numero_pagos');
     }
     //return $promocionEditada;
     $fechaCreacionPromoDB = $promocionEditada->fecha_creacion;
     $fechaTerminoPromoDB = $promocionEditada->fecha_termino;
     $fechaInicioNuevaCarbon = Carbon::parse($fechaCreacionPromoDB);
     $fechaTerminoNuevaCarbon = Carbon::parse($fechaTerminoPromoDB);
     $filtroPromocions = Promocion::all();
     for ($i = 0; $i < count($filtroPromocions); $i++) {
         if ($promocionEditada->id_promocion != $filtroPromocions[$i]->id_promocion) {
             $promocions[$i] = $filtroPromocions[$i];
         }
     }
     foreach ($promocions as $promocion) {
         $fechaInicioCarbon = Carbon::parse($promocion->fecha_creacion);
         $fechaTerminoCarbon = Carbon::parse($promocion->fecha_termino);
         //if(($fechaInicioNuevaCarbon>=$fechaCreacionCarbon && $fechaInicioNuevaCarbon<=$fechaTerminoCarbon) || ($fechaTerminoNuevaCarbon>=$fechaCreacionCarbon && $fechaTerminoNuevaCarbon<=$fechaTerminoCarbon))
         if ($promocionEditada->tipo_promocion == $promocion->tipo_promocion && ($fechaInicioNuevaCarbon >= $fechaInicioCarbon && $fechaInicioNuevaCarbon <= $fechaTerminoCarbon || $fechaTerminoNuevaCarbon >= $fechaInicioCarbon && $fechaTerminoNuevaCarbon <= $fechaTerminoCarbon)) {
             $promocionRepetida = $promocion;
             $Repetida = true;
             break;
         } else {
             $Repetida = false;
         }
     }
     if ($fechaInicioNuevaCarbon < $fechaHoy) {
         Session::flash('message', 'La fecha de inicio no puede ser menor a la fecha de hoy');
         Session::flash('class', 'danger');
     } else {
         if ($fechaInicioNuevaCarbon >= $fechaTerminoNuevaCarbon) {
             Session::flash('message', 'La fecha de inicio no puede ser mayor o igual a la fecha de termino');
             Session::flash('class', 'danger');
         } else {
             if ($fechaTerminoNuevaCarbon <= $fechaInicioNuevaCarbon) {
                 Session::flash('message', 'La fecha de termino no puede ser menor o igual a fecha de inicio');
                 Session::flash('class', 'danger');
             } else {
                 if ($request->input('fecha_inicio') != NULL) {
                     if ($fechaInicioPagoNuevaCarbon <= $fechaTerminoNuevaCarbon) {
                         Session::flash('message', 'La fecha del primer pago no puede ser menor o igual a la fecha termino');
                         Session::flash('class', 'danger');
                     } else {
                         if ($Repetida) {
                             switch ($promocionRepetida->tipo_promocion) {
                                 case 1:
                                     Session::flash('message', 'Ya se encuentra una promoción vigente que abarca del ' . $promocionRepetida->fecha_creacion . ' al ' . $promocionRepetida->fecha_termino . ' con fecha de inicio de ' . $promocionRepetida->fecha_inicio);
                                     Session::flash('class', 'danger');
                                     break;
                                 case 2:
                                     Session::flash('message', 'Ya se encuentra una promoción vigente que abarca del ' . $promocionRepetida->fecha_creacion . ' al ' . $promocionRepetida->fecha_termino . ' a ' . $promocionRepetida->numero_pagos . ' quincenas');
                                     Session::flash('class', 'danger');
                                     break;
                             }
                         } else {
                             $promocionEditada->save();
                             Session::flash('message', 'Guardado Correctamente');
                             Session::flash('class', 'success');
                         }
                     }
                 } else {
                     if ($Repetida) {
                         Session::flash('message', 'Ya se encuentra una promoción vigente del mismo tipo');
                         Session::flash('class', 'danger');
                     } else {
                         $promocionEditada->save();
                         Session::flash('message', 'Guardado Correctamente');
                         Session::flash('class', 'success');
                     }
                 }
             }
         }
     }
     return redirect('consultarPromociones');
 }