private void btn_alterar_Click(object sender, EventArgs e) { Alteracao alterar = new Alteracao(); alterar.Show(); //para fechar a tela this.Hide(); }
public ActionResult Salvar([Bind(Exclude = "Usuario")] TestData objeto, bool editar = false) { try { if (!ModelState.IsValid) { var msg = string.Empty; ModelState.Values.SelectMany(v => v.Errors).ForEach(m => msg = string.Concat(m.ErrorMessage.ToString(), @"\n")); if (!msg.IsNullOrWhiteSpace()) { this.FlashWarning(msg); } return(View("Adicionar", objeto)); } //PEGA O OBJETO COM O USUÁRIO QUE ESTÁ LOGADO Usuario user = (Usuario)Session["ObjUsuario"]; TestData testData; if (editar) { string jsonR = Request.Form.Get("ParametrosEntrada"); List <Alteracao> obj = new List <Alteracao>(); obj = JsonConvert.DeserializeObject <List <Alteracao> >(jsonR); /* * * from m in wordList group m.KeyCol by m.ValueCol into g * select new { Name = g.Key, KeyCols = g.ToList() }; */ int count = 1; Alteracao objAnterior = new Alteracao(); foreach (var item in obj) { if (count % 2 == 0) { if (objAnterior.Valor != item.Valor) { ParametroValor_Historico historico = new ParametroValor_Historico(); historico.IdParametroValor = item.IdCampo; historico.Valor = item.Valor; historico.TempoInicio = DateTime.Parse(objAnterior.Inicio); historico.TempoTermino = DateTime.Parse(item.Termino); db.ParametroValor_Historico.Add(historico); } } else { objAnterior = item; } count++; } objeto.Descricao = Request.Form.Get("Descricao") == null?Request.Form.Get("hidden-descricao") : Request.Form.Get("Descricao"); objeto.IdStatus = Request.Form.Get("listStatus") == null ? objeto.IdStatus : Int32.Parse(Request.Form.Get("listStatus")); if (Request.Form.Get("listMigracao") != null) { objeto.GerarMigracao = (Int32.Parse(Request.Form.Get("listMigracao")) == 0) ? false : true; } objeto.CasoTesteRelativo = Request.Form.Get("CasoTesteRelativo") == null?Request.Form.Get("hidden-caso-teste-relativo") : Request.Form.Get("CasoTesteRelativo"); objeto.Observacao = Request.Form.Get("Observacao") == null?Request.Form.Get("hidden-observacao") : Request.Form.Get("Observacao"); string horaEstimada = "2001-01-01"; string tempoEstimado = Request["tempoEstimado"].ToString(); if (tempoEstimado != "NaN : NaN") { tempoEstimado = tempoEstimado.Replace(" ", ""); tempoEstimado += ":00.000"; string hora = horaEstimada + " " + tempoEstimado; DateTime tempo = DateTime.ParseExact(hora, "yyyy-MM-dd HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture); objeto.TempoEstimadoExecucao = tempo; } // anexar objeto ao contexto db.TestData.Attach(objeto); log.Debug(Util.ToString(objeto)); db.Entry(objeto).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); log.Info("TestData editado com sucesso"); //salva parametros SalvaParametros(objeto.Id, objeto.IdScript_CondicaoScript, editar); } else { // tratamento para impedir que o status seja diferente de cadastrada if (Int32.Parse(Request.Form.Get("ListStatus")) != 1) { log.Debug(Util.ToString(objeto)); log.Warn("Não é possível inserir um testData com status diferente de cadastrada!"); this.FlashError("Não é possível inserir um testData com status diferente de cadastrada!"); } DateTime dataAtual = DateTime.Today; if ((DateTime)Convert.ToDateTime(Request.Form.Get("DataSolicitacao")) < dataAtual) { this.FlashError("Não é permitido selecionar uma Data de Geração Solicitada menor do que a data atual"); } else { string horaEstimada = "2001-01-01"; string tempoEstimado = Request["tempoEstimado"].ToString(); tempoEstimado = tempoEstimado.Replace(" ", ""); tempoEstimado += ":00.000"; string hora = horaEstimada + " " + tempoEstimado; DateTime tempo = DateTime.ParseExact(hora, "yyyy-MM-dd HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture); testData = new TestData() { Descricao = Request.Form.Get("DescricaoTestData"), IdStatus = Int32.Parse(Request.Form.Get("ListStatus")), IdScript_CondicaoScript = objeto.IdScript_CondicaoScript, IdDataPool = objeto.Id, CasoTesteRelativo = Request.Form.Get("CasoTesteRelativo"), GerarMigracao = Int32.Parse(Request.Form.Get("ListMigracao")) == 1 ? true : false, Observacao = Request.Form.Get("observacao"), IdUsuario = user.Id, ClassificacaoMassa = Int32.Parse(Request.Form.Get("listaClassificacao")), TempoEstimadoExecucao = tempo }; db.TestData.Add(testData); db.SaveChanges(); log.Debug(Util.ToString(objeto)); log.Info("TestData adicionado com sucesso"); //Salvar parametros SalvaParametros(testData.Id, testData.IdScript_CondicaoScript, editar); this.FlashSuccess("Massa de teste adicionada com sucesso."); } } } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.ToString().Contains("AK_TDM_Descricao")) { this.FlashError("Já existe uma Massa de Teste com essa descrição."); log.Error("Já existe uma Massa de Teste com essa descrição.", ex); } else { log.Error(ex.Message, ex); this.FlashError(ex.Message); } } return(RedirectToAction("Editar/" + objeto.Id, "DataPool")); }