Exemple #1
0
 public IHttpActionResult Delete(MaintenanceRoutineViewModel pRoutine)
 {
     try
     {
         using (DB_FleetServiceEntities db = new DB_FleetServiceEntities()) {
             var oRoutineDb = db.maintenanceRoutine.Where(mr => mr.mr_id == pRoutine.id).FirstOrDefault();
             oRoutineDb.mr_state      = false;
             oRoutineDb.mr_deleteDate = DateTime.Now;
             db.SaveChanges();
             var rta = new ResponseApiViewModel();
             rta.response = true;
             rta.message  = "Se ha eliminado de la base de datos la rutina: " + pRoutine.name;
             return(Ok(rta));
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemple #2
0
        public IHttpActionResult Update(MaintenanceRoutineViewModel pRoutine)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    ResponseApiViewModel rta = new ResponseApiViewModel();


                    if (pRoutine.name == "")
                    {
                        throw new Exception("El nombre de la rutina no puede ser vacío");
                    }

                    if (pRoutine.vehicleModel == null)
                    {
                        throw new Exception("La rutina de mantenimiento debe tener una línea asociada");
                    }


                    if (pRoutine.frequency == null)
                    {
                        throw new Exception("La rutina de mantenimiento debe tener una frecuencia asociada");
                    }

                    var routineDB = db.maintenanceRoutine.Where(mr => mr.mr_id == pRoutine.id).FirstOrDefault();

                    routineDB.mr_name           = pRoutine.name.ToUpper();
                    routineDB.mr_description    = pRoutine.description;
                    routineDB.vm_id             = pRoutine.vehicleModel.id;
                    routineDB.fq_id             = pRoutine.frequency.id;
                    routineDB.mr_referencePrice = pRoutine.referencePrice;
                    routineDB.mr_updateDate     = DateTime.Now;
                    db.SaveChanges();

                    var lsOldItems = db.ItemsByRoutines.Where(ibr => ibr.mr_id == pRoutine.id).ToList();

                    foreach (var oldItem in lsOldItems)
                    {
                        db.ItemsByRoutines.Remove(oldItem);
                        db.SaveChanges();
                    }



                    foreach (var item in pRoutine.lsItems)
                    {
                        ItemsByRoutines oItemByRoutine = new ItemsByRoutines();
                        oItemByRoutine.mr_id                = routineDB.mr_id;
                        oItemByRoutine.mi_id                = item.id;
                        oItemByRoutine.mi_amount            = (float)item.amount;
                        oItemByRoutine.ibr_registrationDate = DateTime.Now;
                        db.ItemsByRoutines.Add(oItemByRoutine);
                        db.SaveChanges();
                    }


                    rta.response = true;
                    rta.message  = "La rutina " + pRoutine.name + " se ha actualizado en la base de datos.";

                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemple #3
0
        public IHttpActionResult Insert(MaintenanceRoutineViewModel pRoutine)
        {
            try
            {
                using (DB_FleetServiceEntities db = new DB_FleetServiceEntities())
                {
                    ResponseApiViewModel rta       = new ResponseApiViewModel();
                    maintenanceRoutine   routineDB = new maintenanceRoutine();

                    if (pRoutine.name == "")
                    {
                        throw new Exception("El nombre de la rutina no puede ser vacío");
                    }

                    if (pRoutine.vehicleModel == null)
                    {
                        throw new Exception("La rutina de mantenimiento debe tener una línea asociada");
                    }


                    if (pRoutine.frequency == null)
                    {
                        throw new Exception("La rutina de mantenimiento debe tener una frecuencia asociada");
                    }


                    routineDB.mr_name             = pRoutine.name.ToUpper();
                    routineDB.mr_description      = pRoutine.description;
                    routineDB.vm_id               = pRoutine.vehicleModel.id;
                    routineDB.fq_id               = pRoutine.frequency.id;
                    routineDB.mr_referencePrice   = pRoutine.referencePrice;
                    routineDB.mr_state            = true;
                    routineDB.mr_registrationDate = DateTime.Now;

                    db.maintenanceRoutine.Add(routineDB);
                    db.SaveChanges();

                    var oRoutineDB = db.maintenanceRoutine.Where(mr => mr.mr_name == pRoutine.name.ToUpper() &&
                                                                 mr.vm_id == pRoutine.vehicleModel.id &&
                                                                 mr.fq_id == pRoutine.frequency.id)
                                     .OrderByDescending(mr => mr.mr_registrationDate)
                                     .FirstOrDefault();

                    foreach (var item in pRoutine.lsItems)
                    {
                        ItemsByRoutines oItemByRoutine = new ItemsByRoutines();
                        oItemByRoutine.mr_id                = oRoutineDB.mr_id;
                        oItemByRoutine.mi_id                = item.id;
                        oItemByRoutine.mi_amount            = item.amount;
                        oItemByRoutine.ibr_registrationDate = DateTime.Now;
                        db.ItemsByRoutines.Add(oItemByRoutine);
                        db.SaveChanges();
                    }


                    rta.response = true;
                    rta.message  = "Se ha insertado en la base de datos la rutina: " + pRoutine.name;

                    return(Ok(rta));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }