public async Task <IActionResult> Add([FromBody] Intervento chiamata) { var codiceSede = Request.Headers["codicesede"]; var idUtente = Request.Headers["IdUtente"]; var command = new AddInterventoCommand() { Chiamata = chiamata, CodiceSede = codiceSede, CodUtente = idUtente }; try { this._Addhandler.Handle(command); return(Ok(_getSintesiRichiestaByCodice.GetSintesi(command.Chiamata.Codice))); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, Costanti.UtenteNonAutorizzato)); } return(BadRequest()); } }
public async Task <IActionResult> Add([FromBody] Intervento chiamata) { var codiceSede = Request.Headers["codicesede"]; var idUtente = Request.Headers["IdUtente"]; var command = new AddInterventoCommand() { Chiamata = chiamata, CodiceSede = codiceSede.ToString().Split(',', StringSplitOptions.RemoveEmptyEntries)[0], CodUtente = idUtente }; try { _Addhandler.Handle(command); return(Ok(_getSintesiRichiestaByCodice.GetSintesi(command.Chiamata.Codice))); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, new { message = Costanti.UtenteNonAutorizzato })); } return(BadRequest(new { message = ex.Message })); } }
public async Task <IActionResult> Add([FromBody] Intervento chiamata) { var command = new AddInterventoCommand() { Chiamata = chiamata }; try { this._Addhandler.Handle(command); return(Ok(command.Chiamata)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> InserisciIntervento([FromForm] Intervento i) { Intervento intervento = new Intervento() { NomeCliente = i.NomeCliente, Data = DateTime.Now, Luogo = i.Luogo, Lavoro = i.Lavoro, Tipologia = i.Tipologia, Note = i.Note, Prezzo = i.Prezzo, Foto = "" }; if (i.Tipologia == "elettrico") { using (SqlConnection connection = new SqlConnection("")) { var query = "INSERT INTO [dbo].[InterventoEsterno]" + "([NomeCliente], [Luogo] , [Data], [Lavoro], [Foto]) " + "VALUES (@NomeCliente, @Luogo, @Data, @Lavoro, @Foto)"; connection.Execute(query, intervento); connection.Close(); } } if (i.Tipologia != "elettrico") { using (SqlConnection connection = new SqlConnection("")) { var query = "INSERT INTO [dbo].[Intervento]" + "([NomeCliente], [Luogo] , [Data], [Lavoro], [Tipologia], [Note], [Prezzo], [Foto]) " + "VALUES (@NomeCliente, @Luogo, @Data, @Lavoro, @Tipologia, @Note, @Prezzo, @Foto)"; connection.Execute(query, intervento); connection.Close(); } } return(RedirectToAction("Index", "Cantiere")); }
private void popupWindowShowAction1_Execute(object sender, PopupWindowShowActionExecuteEventArgs e) { IObjectSpace space = View.ObjectSpace; //.CreateNestedObjectSpace(); Intervento intervento = View.CurrentObject as Intervento; // space.FindObject<Intervento>(CriteriaOperator.Parse($"[Oid]={((Intervento)View.CurrentObject).Oid}"), false); foreach (DDTAcquisto ddtAcquisto in e.PopupWindowViewSelectedObjects) { foreach (DDTAcquistoElencoMateriale materiale in ddtAcquisto.ElencoMateriale) { RicambiUtilizzati ricambio = space.CreateObject <RicambiUtilizzati>(); ricambio.Articolo = materiale.Articolo; ricambio.Quantità = materiale.Quantita; ricambio.Intervento = intervento; } } View.ObjectSpace.CommitChanges(); }
public async Task SendMailPreventivo(Intervento intervento) { var cantiere = await _cantiereRepo.Get(intervento.IdCantiere); var smtpClient = new SmtpClient { Host = "smtp-mail.outlook.com", // set your SMTP server name here Port = 587, // Port EnableSsl = true, Credentials = new NetworkCredential(_configuration["Email:Username"], _configuration["Email:Password"]) }; using (var message = new MailMessage(_configuration["Email:Username"], cantiere.EmailCliente) { Subject = "Preventivo", Body = $"Salve, il preventivo per l'intervento presso {cantiere.Luogo} è di {intervento.StimaCosto}" }) { await smtpClient.SendMailAsync(message); } }
public async Task <IActionResult> CreateIntervento(InterventoViewModel intervento) { Intervento i = new Intervento { IdCantiere = intervento.IdCantiere, Note = intervento.Note, StimaCosto = intervento.StimaCosto, Tipo = intervento.Tipo }; if (intervento.Photo != null) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(_configuration["ConnectionStrings:StorageAccountCS"]); CloudBlobClient cbc = storageAccount.CreateCloudBlobClient(); var photoContainer = cbc.GetContainerReference("interventi"); var id = Guid.NewGuid(); var fileExtension = Path.GetExtension(intervento.Photo.FileName); var blobName = $"photo/{id}{fileExtension}"; var blobRef = photoContainer.GetBlockBlobReference(blobName); using (var stream = intervento.Photo.OpenReadStream()) { await blobRef.UploadFromStreamAsync(stream); } i.UriPhoto = blobRef.Uri.AbsoluteUri; } await _interventoRepo.InsertIntervento(i); return(RedirectToAction("GetCantiereDetails", intervento.IdCantiere)); }
private void simpleAction1_Execute(object sender, SimpleActionExecuteEventArgs e) { IObjectSpace space = Application.CreateObjectSpace(); Intervento intervento = space.GetObject((Intervento)View.CurrentObject); DDTVendita ddtvendita = space.CreateObject <DDTVendita>(); ddtvendita.Cliente = intervento.Cliente; ddtvendita.Data = intervento.DataIntervento; foreach (var materiale in intervento.RicambiUtilizzati) { DDTVenditaElencoMateriale elencoMateriale = space.CreateObject <DDTVenditaElencoMateriale>(); elencoMateriale.Articolo = materiale.Articolo; elencoMateriale.Quantita = materiale.Quantità; elencoMateriale.DDT = ddtvendita; } DetailView dv = Application.CreateDetailView(space, ddtvendita, true); dv.ViewEditMode = DevExpress.ExpressApp.Editors.ViewEditMode.Edit; e.ShowViewParameters.CreatedView = dv; }
public async Task AddIntervento(Intervento inputIntervento, Dictionary <Materiale, decimal> choosenMateriale, Dictionary <Operatore, double> operatoriCoinvolti, string description, string note, Cantiere cantiere, string data, decimal costoUrgenza, bool isUrgenza = false) { if (_context.Interventos.Contains(inputIntervento)) // if this intervento exists already { inputIntervento.CantieriId = cantiere.Id; inputIntervento.Descrizione = description; inputIntervento.IsUrgenza = isUrgenza; inputIntervento.Data = data == "--" ? new DateTime() : DateTime.Parse(data); inputIntervento.CostoUrgenza = costoUrgenza; inputIntervento.Note = note; _context.Interventos.Update(inputIntervento); foreach (var operatore in operatoriCoinvolti) { var existingInterventoOperatore = _context.InterventoOperatores.FirstOrDefault(x => x.OperatoriId == operatore.Key.Id && x.InterventiId == inputIntervento.Id); if (existingInterventoOperatore != null) // the operatore exists already { existingInterventoOperatore.OreSpese = Convert.ToDecimal(operatore.Value); _context.Update(existingInterventoOperatore); } else { var interventoOperatore = new InterventoOperatore { OperatoriId = operatore.Key.Id, OreSpese = Convert.ToDecimal(operatore.Value), InterventiId = inputIntervento.Id }; _context.Add(interventoOperatore); } } var interventoMateriali = new List <InterventoMateriale>(); foreach (var materiale in choosenMateriale) { var existingMateriale = _context.InterventoMateriales.FirstOrDefault(x => x.MaterialeId == materiale.Key.Id && x.InterventiId == inputIntervento.Id); if (existingMateriale != null) // the materiale exists already { existingMateriale.Quantita = materiale.Value; _context.Update(existingMateriale); } else { var interventoMateriale = new InterventoMateriale { MaterialeId = materiale.Key.Id, Quantita = materiale.Value, InterventiId = inputIntervento.Id }; _context.Add(interventoMateriale); } } } else { var intervento = new Intervento { CantieriId = cantiere.Id, Descrizione = description, IsUrgenza = isUrgenza, Data = data == "--" ? new DateTime() : DateTime.Parse(data), CostoUrgenza = costoUrgenza, Note = note }; _context.Interventos.Add(intervento); _context.SaveChanges(); var interventoOperatore = new List <InterventoOperatore>(); foreach (var operatore in operatoriCoinvolti) { interventoOperatore.Add(new InterventoOperatore { OperatoriId = operatore.Key.Id, OreSpese = Convert.ToDecimal(operatore.Value), InterventiId = intervento.Id }); } _context.AddRange(interventoOperatore); _context.SaveChanges(); var interventoMateriali = new List <InterventoMateriale>(); foreach (var materiale in choosenMateriale) { interventoMateriali.Add(new InterventoMateriale { MaterialeId = materiale.Key.Id, Quantita = materiale.Value, InterventiId = intervento.Id }); } _context.AddRange(interventoMateriali); _context.SaveChanges(); } await _context.SaveChangesAsync(); }