示例#1
0
        public JsonResult ListaServicos()
        {
            ResultViewModel result = new ResultViewModel();

            try
            {
                List <CadastraServicoViewModel> Servicos = new List <CadastraServicoViewModel>();

                foreach (Servico srv in _compassoDbContext.Servicos.Include(m => m.ListaVantagens).Include(m => m.Imagem).Include(m => m.ServicoPortifolios).ToList())
                {
                    CadastraServicoViewModel vm = new CadastraServicoViewModel();
                    vm.Id                 = srv.ServicoId;
                    vm.Ativo              = srv.Ativo.HasValue;
                    vm.Titulo             = srv.Titulo;
                    vm.UrlVideo           = srv.UrlVideo;
                    vm.Imagem.Id          = srv.Imagem.Id;
                    vm.Imagem.ContentType = srv.Imagem.ContentType;
                    if (String.IsNullOrEmpty(srv.Imagem.Data64))
                    {
                        vm.Imagem.Data = Convert.ToBase64String(srv.Imagem.Data);
                    }
                    else
                    {
                        vm.Imagem.Data = srv.Imagem.Data64;
                    }
                    vm.DescricaoCurta = srv.DescricaoCurta;
                    vm.DescricaoLonga = srv.DescricaoLonga;

                    foreach (Vantagem vantagem in srv.ListaVantagens)
                    {
                        vm.ListaVantagens.Add(new VantagemViewModel()
                        {
                            VantagemId = vantagem.VantagemId,
                            Descricao  = vantagem.Descricao
                        });
                    }

                    Servicos.Add(vm);
                }

                return(Json(new ResultViewModel()
                {
                    Success = true,
                    Message = "Operação realizada com sucesso",
                    Data = Servicos
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ResultViewModel()
                {
                    Success = false,
                    Message = "Infelizmente aconteceu um erro. Detalhes: " + ex.Message
                }));
            }

            //return Json(new ResultViewModel()
            //{
            //    Success = false,
            //    Message = "Infelizmente aconteceu um erro.
            //});
        }
示例#2
0
        //public JsonResult Cadastrar([FromForm]CadastraServicoViewModel servico, List<IFormFile> files)
        public JsonResult Cadastrar([FromForm] CadastraServicoViewModel servico, List <IFormFile> files)
        {
            #region Código produção

            try
            {
                Servico srv = new Servico();
                if (files.Count > 0)
                {
                    Imagem    img = new Imagem();
                    IFormFile fl  = files[0];
                    img.ContentType = fl.ContentType;
                    img.Name        = fl.Name;
                    img.Length      = Convert.ToInt32(fl.Length);
                    Stream stream = fl.OpenReadStream();
                    using (BinaryReader reader = new BinaryReader(stream))
                    {
                        img.Data = reader.ReadBytes((int)stream.Length);
                    }

                    srv.Imagem = img;
                }

                var json = HttpContext.Request.Form["servico"];
                CadastraServicoViewModel cadservVM = JsonConvert.DeserializeObject <CadastraServicoViewModel>(json);

                srv.Titulo         = cadservVM.Titulo;
                srv.UrlVideo       = cadservVM.UrlVideo;
                srv.DescricaoCurta = cadservVM.DescricaoCurta;
                srv.DescricaoLonga = cadservVM.DescricaoLonga;
                srv.Ativo          = true;
                srv.Imagem.Data64  = cadservVM.Imagem.Data;
                foreach (VantagemViewModel vantagem in cadservVM.ListaVantagens)
                {
                    srv.ListaVantagens.Add(new Vantagem()
                    {
                        Descricao = vantagem.Descricao
                    });
                }

                _compassoDbContext.Servicos.Add(srv);
                int result = _compassoDbContext.SaveChanges();

                cadservVM.Id                 = srv.ServicoId;
                cadservVM.Imagem.Id          = srv.Imagem.Id;
                cadservVM.Imagem.ContentType = srv.Imagem.ContentType;
                cadservVM.Imagem.Data        = srv.Imagem.Data64;

                cadservVM.ListaVantagens.Clear();
                srv.ListaVantagens.ToList()
                .ForEach(m => cadservVM.ListaVantagens
                         .Add(new VantagemViewModel()
                {
                    VantagemId = m.VantagemId, Descricao = m.Descricao
                }));


                return(Json(new
                {
                    Success = true,
                    Message = "Registro alterado com sucesso.",
                    Data = cadservVM
                }));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Success = false,
                    Message = "Infelizmente aconteceu um erro. Detalhe: " + ex.Message
                }));
            }

            #endregion
        }
示例#3
0
        public JsonResult AlteraServico([FromForm] CadastraServicoViewModel servico, List <IFormFile> files)
        {
            try
            {
                #region Código oficial

                var servicoJson = HttpContext.Request.Form["servico"];
                CadastraServicoViewModel cadServVM = JsonConvert.DeserializeObject <CadastraServicoViewModel>(servicoJson);

                Servico srv = new Servico();
                srv = _compassoDbContext.Servicos
                      .Include(m => m.ListaVantagens)
                      .Include(m => m.Imagem)
                      .Include(m => m.ServicoPortifolios)
                      .Where(m => m.ServicoId == cadServVM.Id).FirstOrDefault();


                srv.Titulo         = cadServVM.Titulo;
                srv.DescricaoCurta = cadServVM.DescricaoCurta;
                srv.DescricaoLonga = cadServVM.DescricaoLonga;
                srv.UrlVideo       = cadServVM.UrlVideo;

                List <Vantagem> vantagensRemover = new List <Vantagem>();

                foreach (Vantagem v in srv.ListaVantagens)
                {
                    VantagemViewModel vvm = cadServVM.ListaVantagens.FirstOrDefault(m => m.VantagemId == v.VantagemId);
                    if (vvm != null)
                    {
                        v.Descricao = vvm.Descricao;
                    }

                    if (!cadServVM.ListaVantagens.Any(m => m.VantagemId == v.VantagemId))
                    {
                        vantagensRemover.Add(v);
                    }
                }

                foreach (Vantagem v in vantagensRemover)
                {
                    srv.ListaVantagens.Remove(v);
                }


                foreach (VantagemViewModel vvm in cadServVM.ListaVantagens)
                {
                    if (vvm.VantagemId == 0)
                    {
                        srv.ListaVantagens.Add(new Vantagem()
                        {
                            Descricao = vvm.Descricao
                        });
                    }
                }


                if (files.Count > 0)
                {
                    IFormFile fl = files[0];
                    srv.Imagem.ContentType = fl.ContentType;
                    srv.Imagem.Name        = fl.Name;
                    srv.Imagem.Length      = Convert.ToInt32(fl.Length);
                    Stream stream = fl.OpenReadStream();
                    using (BinaryReader reader = new BinaryReader(stream))
                    {
                        srv.Imagem.Data = reader.ReadBytes((int)stream.Length);
                    }
                    srv.Imagem.Data64 = cadServVM.Imagem.Data;
                }

                _compassoDbContext.Entry(srv).State = EntityState.Modified;
                int result = _compassoDbContext.SaveChanges();

                // Passando os dados atualizados para o ViewModel

                cadServVM.Id             = srv.ServicoId;
                cadServVM.Ativo          = srv.Ativo.HasValue;
                cadServVM.DescricaoCurta = srv.DescricaoCurta;
                cadServVM.DescricaoLonga = srv.DescricaoLonga;
                if (cadServVM.Imagem != null)
                {
                    cadServVM.Imagem.Id          = srv.Imagem.Id;
                    cadServVM.Imagem.ContentType = srv.Imagem.ContentType;
                    cadServVM.Imagem.Data        = srv.Imagem.Data64;
                }
                cadServVM.ListaVantagens.Clear();
                foreach (Vantagem vantagem in srv.ListaVantagens)
                {
                    cadServVM.ListaVantagens.Add(new VantagemViewModel()
                    {
                        VantagemId = vantagem.VantagemId, Descricao = vantagem.Descricao
                    });
                }

                return(Json(new
                {
                    Success = true,
                    Message = "Dados atualizados com sucesso.",
                    Data = cadServVM
                }));

                #endregion
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Success = false,
                    Message = "Infelizmente aconteceu um erro. Detalhes; " + ex.Message,
                    Data = new { }
                }));
            }
        }