예제 #1
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            switch (ValidFields())
            {
                case "Numero Conta Em Branco":
                    MessageBox.Show("Situação Associada. Campo Número da Conta é de preenchimento obrigatório.", MessageBox.MessageType.Info);
                    break;
                case "Descricao em Branco":
                    MessageBox.Show("Campo Descrição é de preenchimento obrigatório.", MessageBox.MessageType.Info);
                    break;
                case "Data em Branco":
                    MessageBox.Show("Campo Data é de preenchimento obrigatório.", MessageBox.MessageType.Info);
                    break;
                case "OK":

                    using (TransactionScope scope = new TransactionScope())
                    {
                        try
                        {

                            int idProspect = -1;
                            if (Session["idProspectNew"] != null)
                            {
                                idProspect = Convert.ToInt32(Session["idProspectNew"].ToString());
                            }
                            else if (Session["idProspectHist"] != null)
                            {
                                idProspect = Convert.ToInt32(Session["idProspectHist"].ToString());
                            }

                            ProspectControl prospectData = new ProspectControl();
                            ProspectFields prospectObj = new ProspectFields();

                            prospectObj = prospectData.GetItem(idProspect);
                            NomeProspect = prospectObj.Nome;

                            ContatoControl contatoDal = new ContatoControl();
                            ContatoFields contatoObj = new ContatoFields();

                            contatoObj.DataCadastro = DateTime.Now;
                            contatoObj.DataContato = Convert.ToDateTime(txtDate.Text + " " + DateTime.Now.TimeOfDay);
                            contatoObj.Descricao = DescricaoContato;
                            contatoObj.Situacao = Situacao;
                            contatoObj.Tipo = Tipo;
                            contatoObj.fkProspect = prospectObj.idProspect;
                            int id = -1;

                            if (Convert.ToInt32(hfEditaContato.Value) > 0)
                            {
                                contatoObj.idContato = Convert.ToInt32(hfEditaContato.Value);
                                contatoDal.Update(contatoObj);
                                id = contatoObj.idContato;
                            }
                            else
                            {
                                string situacaoContatoProspect = prospectObj.SituacaoProspect;

                                if (situacaoContatoProspect != "Associada")
                                    id = contatoDal.Add(ref contatoObj);

                                else
                                {
                                    MessageBox.Show("Usuário com situação de Associada, favor verificar.", MessageBox.MessageType.Info);
                                    return;
                                }
                            }

                            if (contatoObj.Tipo == "Associada")
                            {
                                AssociacaoControl associacaoDal = new AssociacaoControl();
                                AssociacaoFields associacaoObj = new AssociacaoFields();

                                associacaoObj.DataCadastro = contatoObj.DataCadastro;
                                associacaoObj.DataAssociacao = contatoObj.DataContato;
                                associacaoObj.NumeroConta = txtNumConta.Text;
                                associacaoObj.fkContato = id;

                                if (Convert.ToInt32(hfEditaContato.Value) > 0)
                                {
                                    AssociacaoFields aux = associacaoDal.FindByfkContato(Convert.ToInt32(hfEditaContato.Value));
                                    if (aux != null)
                                    {
                                        associacaoObj.idAssociacao = aux.idAssociacao;
                                        associacaoDal.Update(associacaoObj);
                                        prospectObj.SituacaoProspect = Situacao;
                                        prospectData.Update(prospectObj);

                                    }
                                    else
                                    {
                                        associacaoDal.Add(ref associacaoObj);
                                        prospectObj.SituacaoProspect = Situacao;
                                        prospectData.Update(prospectObj);
                                    }

                                }
                                else
                                {
                                    string situacaoProspect = string.Empty;

                                    associacaoDal.Add(ref associacaoObj);
                                    prospectObj.SituacaoProspect = Situacao;
                                    prospectData.Update(prospectObj);

                                }
                            }

                            if (Session["idProspectNew"] != null)
                            {
                                CleanFields();
                                MessageBox.Show("Contato adicionado com sucesso.", MessageBox.MessageType.Success);
                            }
                            else if (Session["idProspectHist"] != null)
                            {
                                CleanFields();
                                MessageBox.Show("Contato alterado com sucesso.", MessageBox.MessageType.Success);
                            }

                        }
                        catch (Exception ex)
                        {

                            MessageBox.Show(ex.Message, MessageBox.MessageType.Error);
                        }

                        scope.Complete();
                        break;
                    }

            }
        }