예제 #1
0
        public Repository getObject(Object id)
        {
            using (db = new PinheiroSereniContext())
            {
                CorretorRepository r = new CorretorRepository()
                {
                    mensagem = new Validate(),
                    corretor = db.CorretorOnlines.Find((int)id)
                };

                return(r);
            }
        }
예제 #2
0
        public Validate Validate(Repository value, Crud operation)
        {
            CorretorRepository corr = (CorretorRepository)value;

            value.mensagem = new Validate()
            {
                Code = 0, Message = MensagemPadrao.Message(0).ToString()
            };
            if (operation != Crud.INCLUIR && ((CorretorRepository)value).corretor.corretorId == null)
            {
                value.mensagem.Code    = 5;
                value.mensagem.Field   = "corretor.nome";
                value.mensagem.Message = MensagemPadrao.Message(5, "Código da Corretor").ToString();
                return(value.mensagem);
            }

            if (((CorretorRepository)value).corretor.nome.Trim().Length == 0)
            {
                value.mensagem.Code    = 5;
                value.mensagem.Field   = "corretor.nome";
                value.mensagem.Message = MensagemPadrao.Message(5, "Nome da Corretor").ToString();
                return(value.mensagem);
            }

            if (operation == Crud.INCLUIR)
            {
                int nomeCorretor = (from c in db.CorretorOnlines
                                    where c.nome.Equals(((CorretorRepository)value).corretor.nome)
                                    select c.nome).Count();
                if (nomeCorretor > 0)
                {
                    value.mensagem.Code    = 19;
                    value.mensagem.Field   = "Corretor.nome";
                    value.mensagem.Message = MensagemPadrao.Message(19).ToString();
                    return(value.mensagem);
                }
            }

            if (corr.corretor.telefone == null)
            {
                value.mensagem.Code    = 5;
                value.mensagem.Field   = "corretor.telefone";
                value.mensagem.Message = MensagemPadrao.Message(5, "Telefone").ToString();
                return(value.mensagem);
            }

            if (corr.corretor.telefone.Trim().Length != 10)
            {
                value.mensagem.Code    = 4;
                value.mensagem.Field   = "corretor.telefone";
                value.mensagem.Message = MensagemPadrao.Message(4, "Telefone", "").ToString();
                return(value.mensagem);
            }


            if (corr.corretor.email == null)
            {
                value.mensagem.Code    = 5;
                value.mensagem.Field   = "corretor.email";
                value.mensagem.Message = MensagemPadrao.Message(5, "E-Mail").ToString();
                return(value.mensagem);
            }

            if (corr.corretor.senha == null)
            {
                value.mensagem.Code    = 5;
                value.mensagem.Field   = "corretor.senha";
                value.mensagem.Message = MensagemPadrao.Message(5, "Senha").ToString();
                return(value.mensagem);
            }

            if (corr.corretor.senha.Trim() == "")
            {
                value.mensagem.Code    = 5;
                value.mensagem.Field   = "corretor.senha";
                value.mensagem.Message = MensagemPadrao.Message(5, "Senha").ToString();
                return(value.mensagem);
            }

            #region verifica se já não tem algum corretor com a escala informada
            var q = from esc in db.CorretorOnlines where esc.corretorId != ((CorretorRepository)value).corretor.corretorId && esc.indexEscala == ((CorretorRepository)value).corretor.indexEscala select esc.corretorId;
            if (q.Count() > 0)
            {
                value.mensagem.Code    = 19;
                value.mensagem.Field   = "corretor.indexEscala";
                value.mensagem.Message = MensagemPadrao.Message(19).ToString();
            }
            #endregion

            return(value.mensagem);
        }
예제 #3
0
        public Repository Delete(Repository value)
        {
            using (db = new PinheiroSereniContext())
            {
                try
                {
                    #region validar exclusão
                    value.mensagem = this.Validate(value, Crud.EXCLUIR);
                    #endregion

                    #region excui o Corretor
                    if (value.mensagem.Code == 0)
                    {
                        CorretorRepository r    = (CorretorRepository)value;
                        CorretorOnline     corr = db.CorretorOnlines.Find(r.corretor.corretorId);
                        db.CorretorOnlines.Remove(corr);
                        db.SaveChanges();
                    }
                    else
                    {
                        value.mensagem.MessageBase = MensagemPadrao.Message(999).ToString();
                    }
                    #endregion
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException ex)
                {
                    value.mensagem.Code        = 36;
                    value.mensagem.MessageBase = MensagemPadrao.Message(36).ToString();
                    if ((ex.Message.ToUpper().Contains("FOREIGN KEY") || ex.Message.ToUpper().Contains("REFERENCE")) ||
                        (ex.InnerException.ToString().ToUpper().Contains("FOREIGN KEY") || ex.InnerException.ToString().ToUpper().Contains("REFERENCE")))
                    {
                        value.mensagem.Code    = 16;
                        value.mensagem.Message = MensagemPadrao.Message(16).ToString();
                    }
                    else if (ex.Message.ToUpper().Contains("PRIMARY KEY") ||
                             ex.InnerException.ToString().ToUpper().Contains("PRIMARY KEY"))
                    {
                        value.mensagem.Code    = 37;
                        value.mensagem.Message = MensagemPadrao.Message(37).ToString();
                    }
                    else
                    {
                        value.mensagem.Message = MensagemPadrao.Message(17).ToString();
                    }
                    PinheiroSereniException.saveError(ex, GetType().FullName);
                }
                catch (ArgumentException ex)
                {
                    value.mensagem = new Validate()
                    {
                        Code = 17, Message = MensagemPadrao.Message(17).ToString(), MessageBase = ex.Message
                    };
                }
                catch (Exception ex)
                {
                    PinheiroSereniException.saveError(ex, GetType().FullName);
                    value.mensagem.Code        = 17;
                    value.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                    value.mensagem.Message     = new PinheiroSereniException(ex.Message, GetType().FullName).Message;
                }
            }

            return(value);
        }
예제 #4
0
        public Repository Update(Repository value)
        {
            using (db = new PinheiroSereniContext())
            {
                try
                {
                    #region validar alteração
                    value.mensagem = this.Validate(value, Crud.ALTERAR);
                    #endregion

                    #region altera a Corretor
                    if (value.mensagem.Code == 0)
                    {
                        CorretorRepository r = (CorretorRepository)value;
                        db.Entry(r.corretor).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        value.mensagem.MessageBase = MensagemPadrao.Message(999).ToString();
                    }
                    #endregion
                }
                catch (System.Data.Entity.Infrastructure.DbUpdateException ex)
                {
                    value.mensagem.Code        = 36;
                    value.mensagem.MessageBase = MensagemPadrao.Message(36).ToString();
                    if ((ex.Message.ToUpper().Contains("FOREIGN KEY") || ex.Message.ToUpper().Contains("REFERENCE")) ||
                        (ex.InnerException.ToString().ToUpper().Contains("FOREIGN KEY") || ex.InnerException.ToString().ToUpper().Contains("REFERENCE")))
                    {
                        value.mensagem.Code    = 16;
                        value.mensagem.Message = MensagemPadrao.Message(16).ToString();
                    }
                    else if (ex.Message.ToUpper().Contains("PRIMARY KEY") ||
                             ex.InnerException.ToString().ToUpper().Contains("PRIMARY KEY"))
                    {
                        value.mensagem.Code    = 37;
                        value.mensagem.Message = MensagemPadrao.Message(37).ToString();
                    }
                    else
                    {
                        value.mensagem.Message = MensagemPadrao.Message(17).ToString();
                    }
                    PinheiroSereniException.saveError(ex, GetType().FullName);
                }
                catch (ArgumentException ex)
                {
                    value.mensagem = new Validate()
                    {
                        Code = 17, Message = MensagemPadrao.Message(17).ToString(), MessageBase = ex.Message
                    };
                }
                catch (Exception ex)
                {
                    PinheiroSereniException.saveError(ex, GetType().FullName);
                    value.mensagem.Code        = 17;
                    value.mensagem.MessageBase = ex.InnerException.InnerException.Message ?? ex.Message;
                    value.mensagem.Message     = new PinheiroSereniException(ex.Message, GetType().FullName).Message;
                }
            }

            return(value);
        }
예제 #5
0
        public ActionResult Create(CorretorRepository value)
        {
            if (AccessDenied(System.Web.HttpContext.Current.Session.SessionID))
            {
                return(RedirectToAction("Index", "Home"));
            }

            value.mensagem = new Validate();

            if (ModelState.IsValid)
            {
                try
                {
                    var fileName = "CorretorNulo.png";

                    // Se for informado o arquivo da foto para upload
                    if (this.Request.Files.Count > 0)
                    {
                        if (this.Request.Files [0].FileName.Trim() != "")
                        {
                            #region verifica o tamanho da foto
                            if (this.Request.Files[0].ContentLength < 15360 || this.Request.Files[0].ContentLength > 71680)     // entre 15 kb e 70 kb
                            {
                                value.mensagem.Code        = 100;
                                value.mensagem.Field       = "foto";
                                value.mensagem.Message     = "Tamanho da foto do corretor inválido. Arquivo fora das dimensões permitida.";
                                value.mensagem.MessageBase = "O tamanho do arquivo da foto deve estar entre 15kb e 70kb";
                                throw new PinheiroSereniException(value.mensagem);
                            }
                            #endregion

                            #region Verifica o formato do arquivo
                            System.IO.FileInfo f = new FileInfo(Request.Files[0].FileName);

                            if (f.Extension.ToLower() != ".png")
                            {
                                value.mensagem.Field       = "foto";
                                value.mensagem.Code        = 101;
                                value.mensagem.Message     = "O arquivo deve ser no formato PNG.";
                                value.mensagem.MessageBase = "A extensão do arquivo da foto deve ser .PNG";
                                throw new PinheiroSereniException(value.mensagem);
                            }
                            #endregion

                            #region Enviar a foto do corretor
                            fileName = String.Format("{0}.png", Guid.NewGuid().ToString());
                            var imagePath = Path.Combine(Server.MapPath(Url.Content("~/Content/themes/base/images/uploads")), fileName);

                            this.Request.Files[0].SaveAs(imagePath);
                            #endregion
                        }
                    }

                    #region gravar os dados do corretor
                    value.mensagem          = new Validate();
                    value.corretor.nome     = value.corretor.nome.ToUpper();
                    value.corretor.setor    = value.corretor.setor.ToUpper();
                    value.corretor.telefone = value.corretor.telefone.Replace("(", "").Replace(")", "").Replace("-", "");
                    value.corretor.foto     = fileName;
                    value.corretor.email    = value.corretor.email.ToLower();

                    ControllerFactory <CorretorCrud> factory = new ControllerFactory <CorretorCrud>();
                    value = (CorretorRepository)factory.Insert(value);
                    if (value.mensagem.Code > 0)
                    {
                        throw new PinheiroSereniException(value.mensagem);
                    }
                    #endregion

                    return(RedirectToAction("Create", new { sucesso = MensagemPadrao.Message(0).ToString() + ". ID do corretor = " + value.corretor.corretorId.ToString() }));
                }
                catch (PinheiroSereniException ex)
                {
                    ModelState.AddModelError(value.mensagem.Field, ex.Result.Message);
                    using (PinheiroSereniContext db = new PinheiroSereniContext())
                        ViewBag.drpCorretoras = BindDropDownListFactory.Bind <drpCorretoras>(db, value.corretor.corretoraId.ToString(), "Selecione...");
                    ViewBag.drpSituacao = BindDropDownListFactory.BindEnum <PinheiroSereni.Dominio.Enumeracoes.drpSituacao>(value.corretor.situacao);
                    return(View(value));
                }
            }
예제 #6
0
 public CorretorBusiness()
 {
     _repository = new CorretorRepository();
 }