示例#1
0
        private void btn_alterar_Click(object sender, EventArgs e)
        {
            Alteracao alterar = new Alteracao();

            alterar.Show();
            //para fechar a tela
            this.Hide();
        }
示例#2
0
        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"));
        }