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)); } }
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)); } }
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)); } }