public async Task<IActionResult> Edit(int id, [Bind("Qty,CarelloId,ComponenteId")] ComponenteDelCarello componenteDelCarello) { if (id != componenteDelCarello.CarelloId) { return NotFound(); } if (ModelState.IsValid) { try { _context.Update(componenteDelCarello); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ComponenteDelCarelloExists(componenteDelCarello.CarelloId)) { return NotFound(); } else { throw; } } return RedirectToAction(nameof(Index)); } ViewData["CarelloId"] = new SelectList(_context.Carelli, "Id", "Matricola", componenteDelCarello.CarelloId); ViewData["ComponenteId"] = new SelectList(_context.Componente, "Id", "Codice", componenteDelCarello.ComponenteId); return View(componenteDelCarello); }
public async Task<IActionResult> Create([Bind("Qty,CarelloId,ComponenteId")] ComponenteDelCarello componenteDelCarello) { if (ModelState.IsValid) { _context.Add(componenteDelCarello); await _context.SaveChangesAsync(); return RedirectToAction(nameof(Index)); } ViewData["CarelloId"] = new SelectList(_context.Carelli, "Id", "Matricola", componenteDelCarello.CarelloId); ViewData["ComponenteId"] = new SelectList(_context.Componente, "Id", "Codice", componenteDelCarello.ComponenteId); return View(componenteDelCarello); }
public async Task <ActionResult> Json([FromBody] DbViewArriviComponente dbView) { string result = "Error! c'è un problema!"; if (!string.IsNullOrEmpty(dbView.Matricola) && !string.IsNullOrEmpty(dbView.Descrizione) && dbView.ComponenteCarello != null && !string.IsNullOrEmpty(dbView.Identificativo) && !string.IsNullOrEmpty(dbView.CodiceLocazione) && dbView.AreaId != 0) { //controllo per sapere se il carello esiste già Carello carello = _context.Carelli.FirstOrDefault(c => c.Matricola == dbView.Matricola); //se non esiste lo aggiungiamo if (carello == null) { carello = new Carello(); carello.Matricola = dbView.Matricola; _context.Carelli.Add(carello); await _context.SaveChangesAsync(); } int idCarello = carello.Id; //controllo per sapere se la locazione esiste già Locazione locazione = _context.Locazioni.FirstOrDefault(l => l.AreaId == dbView.AreaId && l.Codice == dbView.CodiceLocazione); //se non esiste la aggiungiamo if (locazione == null) { locazione = new Locazione(); locazione.Codice = dbView.CodiceLocazione; locazione.AreaId = dbView.AreaId; _context.Locazioni.Add(locazione); await _context.SaveChangesAsync(); } int locazioneId = locazione.Id; //Verifica se è gia stato effetuato questa accetazione Arrivi arrivi = _context.Arrivi.Find(idCarello, locazioneId); if (arrivi == null) { arrivi = new Arrivi(); arrivi.Identificativo = dbView.Identificativo; arrivi.Descrizione = dbView.Descrizione; arrivi.Date = DateTime.Now; arrivi.CarelloId = idCarello; arrivi.LocazioneId = locazioneId; _context.Arrivi.Add(arrivi); await _context.SaveChangesAsync(); } else { //manda in error 500 se si cerca di inserire un carello gia presente e una locazione gia presente } //aggiornamento delle componente di questo carello ComponenteDelCarello cdc; Componente compo; foreach (var item in dbView.ComponenteCarello) { cdc = new ComponenteDelCarello(); compo = _context.Componente.FirstOrDefault(c => c.Codice == item.ComponenteId); cdc.ComponenteId = compo.Id; cdc.CarelloId = idCarello; cdc.Qty = item.Qty; _context.ComponentiDeiCarelli.Add(cdc); } _context.SaveChanges(); result = "Success!"; } return(Json(result)); }