コード例 #1
0
        public IActionResult AceitarContrato(ContratoVM pModel)
        {
            try
            {
                if (pModel.IdContrato == 0)
                {
                    return(ViewBag(pModel));
                }

                if (pModel.NomeNutricionista != _ServiceNutricionista.ConsultarNutricionistaPorID(Convert.ToInt32(User
                                                                                                                  .Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType)).Nome)
                {
                    return(RedirectToAction("ConsultasAgendadas", "Contrato"));
                }

                _ServiceContrato.AlterarStatusContrato(pModel.IdContrato,
                                                       StatusContratoEnum.Agendada);

                return(RedirectToAction("ConsultasAgendadas", "Contrato", new { mensagem = "Consulta agendada com sucesso." }));
            }
            catch (Exception ex)
            {
                ViewData[Constantes.ViewDataMensagemErro] = ex.Message;
                return(View(pModel));
            }
        }
コード例 #2
0
        public void CriarContrato(ContratoVM model)
        {
            model.Id = SequentialGuidGenerator.Generate();

            if (model.ServicoContratos != null)
            {
                foreach (var servicocontratoVM in model.ServicoContratos)
                {
                    servicocontratoVM.Id         = SequentialGuidGenerator.Generate();
                    servicocontratoVM.ContratoId = model.Id;
                }
            }

            if (model.DocumentoContratos != null)
            {
                foreach (var documentocontratoVM in model.DocumentoContratos)
                {
                    //documentocontratoVM.Id = SequentialGuidGenerator.Generate();
                    documentocontratoVM.ContratoId = model.Id;
                }
            }
            var contrato = Map <Contrato>(model);

            cadastroContratoServices.CriarContrato(contrato);

            SaveChanges();
        }
コード例 #3
0
        public IActionResult AcoesContrato(int ID)
        {
            Contrato contrato = _ServiceContrato.BuscaContratoPorID(ID);

            if (contrato == null)
            {
                return(RedirectToAction("ConsultasAgendadas", "Contrato"));
            }

            if (User.Claims.Any(c => c.Type == Constantes.NutricionistaLogado))
            {
                if (contrato.IdNutricionista != Convert.ToInt32(User.Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType))
                {
                    return(RedirectToAction("ConsultasAgendadas", "Contrato"));
                }
            }
            else
            {
                if (contrato.IdUsuario != Convert.ToInt32(User.Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType))
                {
                    return(RedirectToAction("ConsultasAgendadas", "Contrato"));
                }
            }

            ContratoVM contratoVM = PreencheContratoVM(contrato);

            return(View(contratoVM));
        }
コード例 #4
0
        public ActionResult CreateVM([Bind(Include = "NombreContrato,DireccionPropiedad,FechaInicio,FechaFinal,NombreLocador,ApellidoLocador,TelefonoLocador,NombreLocatario,ApellidoLocatario,TelefonoLocatario,NombreGarante,ApellidoGarante,TelefonoGarante")] ContratoVM contrato)
        {
            Propiedad newPropiedad = new Propiedad();

            newPropiedad.Address = contrato.DireccionPropiedad;
            Locador newLocador = new Locador();

            newLocador.Name        = contrato.NombreLocador;
            newLocador.LastName    = contrato.ApellidoLocador;
            newLocador.PhoneNumber = contrato.TelefonoLocador;
            Locatario newLocatario = new Locatario();

            newLocatario.Name        = contrato.NombreLocatario;
            newLocatario.LastName    = contrato.ApellidoLocatario;
            newLocatario.PhoneNumber = contrato.TelefonoLocatario;
            Garante newGarante = new Garante();

            newGarante.Name        = contrato.NombreGarante;
            newGarante.LastName    = contrato.ApellidoGarante;
            newGarante.PhoneNumber = contrato.TelefonoGarante;
            Contrato newContrato = new Contrato();

            newContrato.NombreContrato = contrato.NombreContrato;
            newContrato.Propiedades    = newPropiedad;
            newContrato.FechaInicio    = contrato.FechaInicio;
            newContrato.FechaFinal     = contrato.FechaFinal;
            newContrato.Locador        = newLocador;
            newContrato.Locatario      = newLocatario;
            newContrato.Garante        = newGarante;

            db.Contratos.Add(newContrato);
            db.SaveChanges();

            return(RedirectToAction("Index", "Contratos"));
        }
コード例 #5
0
        public IActionResult CancelarConsulta(ContratoVM pModel)
        {
            try
            {
                if (pModel.IdContrato == 0)
                {
                    return(View(pModel));
                }

                if (User.Claims.Any(c => c.Type == Constantes.NutricionistaLogado))
                {
                    if (pModel.NomeNutricionista != _ServiceNutricionista.ConsultarNutricionistaPorID(Convert.ToInt32(User
                                                                                                                      .Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType)).Nome)
                    {
                        return(RedirectToAction("ConsultasAgendadas", "Contrato"));
                    }
                }
                else
                {
                    if (pModel.IdUsuario != Convert.ToInt32(User.Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType))
                    {
                        return(RedirectToAction("ConsultasAgendadas", "Contrato"));
                    }
                }



                StatusContratoEnum statusContratoEnum = StatusContratoEnum.Agendada;

                if (User.Claims.Any(c => c.Type == Constantes.NutricionistaLogado))
                {
                    statusContratoEnum = StatusContratoEnum.CanceladaNutricionista;
                }
                else
                {
                    statusContratoEnum = StatusContratoEnum.CanceladaPaciente;
                }

                _ServiceContrato.AlterarStatusContrato(pModel.IdContrato,
                                                       statusContratoEnum);

                return(RedirectToAction("ConsultasAgendadas", "Contrato", new { mensagem = "Consulta cancelada com sucesso." }));
            }
            catch (Exception ex)
            {
                ViewData[Constantes.ViewDataMensagemErro] = ex.Message;
                return(View(pModel));
            }
        }
コード例 #6
0
        public void AtualizaContrato(ContratoVM model)
        {
            if (model.ServicoContratos != null)
            {
                foreach (var servicocontratoVM in model.ServicoContratos)
                {
                    if (servicocontratoVM.Id == Guid.Empty)
                    {
                        servicocontratoVM.Id = SequentialGuidGenerator.Generate();
                        cadastroContratoServices
                        .CadastrarServicoNoContrato(
                            servicocontratoVM.Id,
                            model.Id,
                            servicocontratoVM.TipoServicoId,
                            servicocontratoVM.FormaPagamentoId,
                            servicocontratoVM.Valor,
                            servicocontratoVM.Observacao);
                    }
                }
            }

            if (model.DocumentoContratos != null)
            {
                foreach (var documentocontratoVM in model.DocumentoContratos)
                {
                    //if (documentocontratoVM.Id == Guid.Empty)
                    //{
                    //Guid DocumentoGuid = SequentialGuidGenerator.Generate();
                    //documentocontratoVM.Id = DocumentoGuid;
                    //documentocontratoVM.NomeArquivo = DocumentoGuid.ToString();
                    cadastroContratoServices
                    .CadastrarDocumentoNoContrato(
                        documentocontratoVM.Id,
                        model.Id,
                        documentocontratoVM.NomeArquivo,
                        documentocontratoVM.NomeOriginal);
                    //}

                    //documentocontratoVM.Id = SequentialGuidGenerator.Generate();
                    //documentocontratoVM.ContratoId = model.Id;
                }
            }
            var contrato = Map <Contrato>(model);

            cadastroContratoServices.AtualizaContrato(contrato);

            SaveChanges();
        }
コード例 #7
0
        private void NomearVariaveis(ContratoVM contratoVM = null, List <ContratoVM> listaContratoVM = null)
        {
            var listaMoradorTO = MoradorService.Listar().Lista;

            if (listaContratoVM != null && listaContratoVM.Count > 0)
            {
                foreach (var con in listaContratoVM)
                {
                    con.NomeMorador = listaMoradorTO.FirstOrDefault(x => x.Identificador == con.IdMorador).Nome;
                }
            }

            if (contratoVM != null)
            {
                contratoVM.NomeMorador = listaMoradorTO.FirstOrDefault(x => x.Identificador == contratoVM.IdMorador).Nome;
            }
        }
コード例 #8
0
        public ActionResult Create(ContratoVM Contrato)
        {
            if (ModelState.IsValid)
            {
                Contrato.TipoContrato = Contrato.TipoContrato.Substring(0, 1);
                var ContratoTO = Mapper.Map <ContratoVM, ContratoTO>(Contrato);

                ContratoService.Criar(ContratoTO);

                Session["Mensagem"] = ContratoTO.Mensagem;
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(Contrato));
            }
        }
コード例 #9
0
        public ActionResult Edit(ContratoVM ContratoVM)
        {
            if (ModelState.IsValid)
            {
                ContratoVM.TipoContrato = ContratoVM.TipoContrato.Substring(0, 1);

                var ContratoTO = Mapper.Map <ContratoVM, ContratoTO>(ContratoVM);

                ContratoService.Atualizar(ContratoTO);

                if (!ContratoTO.Valido)
                {
                    Session["Mensagem"] = ContratoTO.Valido;
                    return(RedirectToAction("Index"));
                }

                ContratoVM = Mapper.Map <ContratoTO, ContratoVM>(ContratoTO);
            }

            return(RedirectToAction("Index"));
        }
コード例 #10
0
        public IActionResult AceitarContrato(int ID)
        {
            Contrato contrato = _ServiceContrato.BuscaContratoPorID(ID);

            if (contrato == null)
            {
                return(RedirectToAction("ConsultasAgendadas", "Contrato"));
            }

            if (contrato.IdNutricionista != Convert.ToInt32(User.Claims.FirstOrDefault(c => c.Type == Constantes.IDUsuarioLogado).ValueType))
            {
                return(RedirectToAction("ConsultasAgendadas", "Contrato"));
            }


            ContratoVM contratoVM = new ContratoVM()
            {
                DataFim    = contrato.DataTermino,
                DataInicio = contrato.DataInicio,
                Endereco   = new EnderecoVM()
                {
                    Bairro      = contrato.Bairro,
                    CEP         = contrato.CEP,
                    Cidade      = contrato.Cidade,
                    Complemento = contrato?.Complemento,
                    Logradouro  = contrato.Logradouro,
                    Numero      = contrato?.Numero,
                    UF          = contrato.UF.GetDefaultValue()
                },
                IdContrato        = contrato.IdContrato,
                IdUsuario         = contrato.IdUsuario,
                NomeNutricionista = _ServiceNutricionista.ConsultarNutricionistaPorID(contrato.IdNutricionista).Nome,
                NomePaciente      = _ServicePaciente.ConsultarPacientePorID(contrato.IdUsuario).Nome
            };

            return(View(contratoVM));
        }
コード例 #11
0
        public ActionResult EditContrato(ContratoVM model)
        {
            if (ModelState.IsValid)
            {
                if (Request.Form.Files != null)
                {
                    if (Request.Form.Files.Count > 0)
                    {
                        for (int i = 0; i < Request.Form.Files.Count; i++)
                        {
                            if (model.DocumentoContratos != null)
                            {
                                // configurar nome do arquivo com o mesmo guid da chave primaria
                                if (model.DocumentoContratos != null)
                                {
                                    Guid DocumentoGuid = SequentialGuidGenerator.Generate();
                                    model.DocumentoContratos[i].Id          = DocumentoGuid;
                                    model.DocumentoContratos[i].NomeArquivo = DocumentoGuid.ToString().ToUpper() + Request.Form.Files[i].FileName.Substring(Request.Form.Files[i].FileName.LastIndexOf('.'));
                                }

                                // full path to file in temp location
                                var filePath = Path.Combine(
                                    Directory.GetCurrentDirectory(), "wwwroot", "Contratos",
                                    model.Id.ToString());

                                if (!Directory.Exists(filePath))
                                {
                                    Directory.CreateDirectory(filePath);
                                }

                                filePath = Path.Combine(filePath, model.DocumentoContratos[i].NomeArquivo);

                                if (Request.Form.Files[i].Length > 0)
                                {
                                    using (var stream = new FileStream(filePath, FileMode.Create))
                                    {
                                        Request.Form.Files[i].CopyTo(stream);
                                    }
                                }
                            }
                        }
                    }
                }

                if (model.Id == Guid.Empty)
                {
                    contratosAppServices.CriarContrato(model);
                }
                else
                {
                    contratosAppServices.AtualizaContrato(model);
                }

                var listaContratos = contratosAppServices.BuscarContratosCompleto();
                return(PartialView("_ListaContratos", listaContratos));
            }
            else
            {
                var listaContratos = contratosAppServices.BuscarContratosCompleto();
                return(PartialView("_ListaContratos", listaContratos));
            }
        }