예제 #1
0
 private void SetSmSprintWithContracts()
 {
     if (sprintsSmList != null)
     {
         foreach (var sprintSm in sprintsSmList)
         {
             if (sprintSm.Contracts.Count < 1)
             {
                 foreach (var partner in configXml.Partners)
                 {
                     foreach (var contract in partner.Contracts)
                     {
                         if (contract.Name == UtilDTO.CONTRACTS.SM_FIXO.ToString() ||
                             contract.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString())
                         {
                             ContratoDTO smContract = new ContratoDTO()
                             {
                                 Factor    = contract.Factor,
                                 HourValue = contract.HourValue,
                                 Name      = contract.Name,
                                 NumeroSAP = contract.NumeroSAP
                             };
                             foreach (var sm in contract.Collaborators)
                             {
                                 smContract.Collaborators.Add(sm);
                             }
                             sprintsSmList.Find(sprint => sprint.Range.Name == selectedRange.Name).Contracts.Add(smContract);
                         }
                     }
                 }
             }
         }
     }
 }
예제 #2
0
        private void LsbContracts_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (lsbContracts.SelectedItem != null)
            {
                selectedContract = config
                                   .Partners.Find(x => x == selectedPartner)
                                   .Contracts.Find(c => c.Name == lsbContracts.SelectedItem.ToString());

                txbContractSap.Text           = selectedContract.NumeroSAP;
                txbContractFactor.Text        = selectedContract.Factor.ToString();
                cbbContractType.SelectedIndex = cbbContractType.FindStringExact(selectedContract.Name);
                lsbDevs.Items.Clear();

                if (selectedContract.Collaborators.Count > 0)
                {
                    foreach (var dev in selectedContract.Collaborators)
                    {
                        lsbDevs.Items.Add(dev.Name);
                    }
                    lsbDevs.SelectedIndex = 0;

                    lblDevs.Text = $"Devs {selectedContract.Name}";
                }
            }
        }
예제 #3
0
        public void Add(ContratoDTO contrato)
        {
            AtualizarConteudoArquivo(contrato);

            _contratoRepository.Add(_mapper.Map <Contrato>(contrato));
            _contratoRepository.Save();
        }
예제 #4
0
        public void Delete(ContratoDTO contrato)
        {
            var obj = _contratoRepository.GetById(contrato.Id);

            _contratoRepository.Delete(obj);
            _contratoRepository.Save();
        }
예제 #5
0
        public LiberacaoContratoLiberacaoViewModel()
        {
            ContratoRetificacaoItemMedicao = new ContratoRetificacaoItemMedicaoDTO();
            Contrato = new ContratoDTO();
            Resumo   = new ResumoLiberacaoDTO();

            this.DataEmissaoNovo    = DateTime.Now;
            this.DataVencimentoNovo = DateTime.Now;
        }
        public async Task <ActionResult> Put(int id, [FromForm] ContratoDTO contratoDTO)
        {
            var contrato = _mapper.Map <Contrato>(contratoDTO);

            contrato.Id = id;
            await _contratoService.UpdateContrato(contrato);

            return(NoContent());
        }
예제 #7
0
        private void AtualizarConteudoArquivo(ContratoDTO contrato)
        {
            string path = HttpContext.Current.Server.MapPath($"~/App_Data/Contratos/{contrato.NomeArquivo}");

            var    caminho = @"c:\temp\contratos";
            string arquivo = $@"{caminho}\{contrato.NomeArquivo}";

            byte[] fileConvert = File.ReadAllBytes(arquivo);
            contrato.Arquivo = fileConvert;
        }
        public async Task <ActionResult> Post([FromForm] ContratoDTO contratoDTO)
        {
            var contrato = _mapper.Map <Contrato>(contratoDTO);
            await _contratoService.InsertContrato(contrato);

            contratoDTO = _mapper.Map <ContratoDTO>(contrato);
            var response = new ApiResponse <ContratoDTO>(contratoDTO);

            return(Created(nameof(Get), new { id = contrato.Id, response }));
        }
예제 #9
0
        public void Edit(ContratoDTO contrato)
        {
            var _contrato = _contratoRepository.GetById(contrato.Id);

            if (!string.IsNullOrEmpty(contrato.NomeArquivo) && contrato.NomeArquivo != _contrato.NomeArquivo)
            {
                AtualizarConteudoArquivo(contrato);
            }

            _contratoRepository.Update(_mapper.Map <Contrato>(contrato));
            _contratoRepository.Save();
        }
예제 #10
0
        public ActionResult Put(int id, [FromBody] ContratoDTO contratoDto)
        {
            if (id != contratoDto.Id)
            {
                return(BadRequest());
            }

            var contrato = _mapper.Map <Contrato>(contratoDto);

            _uof.ContratoRepository.Update(contrato);
            _uof.Commit();
            return(Ok());
        }
예제 #11
0
        public IHttpActionResult Create(ContratoDTO contratoDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var contrato = Mapper.Map <ContratoDTO, Contrato>(contratoDTO);

            _UnityOfWork.Contratos.Add(contrato);
            _UnityOfWork.SaveChanges();

            contratoDTO.ContratoId = contrato.ContratoId;

            return(Created(new Uri(Request.RequestUri + "/" + contrato.ContratoId), contratoDTO));
        }
예제 #12
0
        // Post retornar CreatedResult ..
        public void Post_Contrato_ValidaReturn()
        {
            //Arrange
            var controller = new ContratosController(repository, mapper);

            var ctr = new ContratoDTO()
            {
                Data = Convert.ToDateTime("2019-12-15"), QtdeParcelas = 5, VlrFinanciado = 11111
            };

            //Act
            var data = controller.Post(ctr);

            //Assert
            Assert.IsType <CreatedAtRouteResult>(data);
        }
예제 #13
0
        private void BtnAddContract_Click(object sender, EventArgs e)
        {
            try
            {
                if (cbbContract.SelectedValue.ToString() == NOVO)
                {
                    ValidateContractData();
                }

                ContratoDTO newContract = new ContratoDTO()
                {
                    Name   = cbbContractType.SelectedItem.ToString(),
                    Factor = Convert.ToDouble(txbContractFactor.Text)
                };

                if (txbContractHourValue.Text.Trim() != string.Empty)
                {
                    newContract.HourValue = Convert.ToDouble(txbContractHourValue.Text);
                }

                if (cbbContract.SelectedValue.ToString() != NOVO &&
                    cbbContract.SelectedValue.ToString() != UtilDTO.CONTRACTS.HOUSE.ToString())
                {
                    var oldContract = config
                                      .Partners.Find(x => x.Name == cbbPartner.SelectedItem.ToString())
                                      .Contracts.Find(c => c.Name == cbbContract.SelectedValue.ToString());

                    config
                    .Partners.Find(x => x.Name == cbbPartner.SelectedItem.ToString())
                    .Contracts
                    .Remove(oldContract);
                }

                config.Partners
                .Find(x => x.Name == cbbPartner.SelectedItem.ToString()).Contracts
                .Add(newContract);

                UpdateContractsCombo();
                //txbContractHourValue.Clear();
                //txbContractFactor.Clear();
                PrintUserLog($"Contrato '{newContract.Name}' adicionado ao parceiro '{cbbPartner.SelectedItem}'");
            }
            catch (Exception ex)
            {
                txbResult.Text = $"Erro ao associar tipo de contrato ao fornecedor. Mensagem:\n{ex.Message}";
            }
        }
예제 #14
0
 public ContratoDTO salvarAtualizarContrato(ContratoDTO contrato)
 {
     try
     {
         using (ISession session = NHibernateHelper.getSessionFactory().OpenSession())
         {
             ContratoDAL DAL = new ContratoDAL(session);
             DAL.saveOrUpdate(contrato);
             session.Flush();
         }
         return(contrato);
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }
예제 #15
0
 public IList <ContratoDTO> selectContrato(ContratoDTO contrato)
 {
     try
     {
         IList <ContratoDTO> resultado = null;
         using (ISession session = NHibernateHelper.getSessionFactory().OpenSession())
         {
             ContratoDAL DAL = new ContratoDAL(session);
             resultado = DAL.select(contrato);
         }
         return(resultado);
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }
예제 #16
0
        private void LoadConfigData()
        {
            lblOutputPath.Text = Directory.GetParent(Environment.CurrentDirectory).Parent.Parent.FullName;
            FornecedorDTO fakePartner = new FornecedorDTO()
            {
                Name = UtilDTO.CONTRACTS.HOUSE.ToString()
            };

            config.Partners.Add(fakePartner);

            ContratoDTO fakeContract = new ContratoDTO()
            {
                Name = UtilDTO.CONTRACTS.HOUSE.ToString()
            };

            config.Partners.Find(x => x.Name == UtilDTO.CONTRACTS.HOUSE.ToString()).Contracts.Add(fakeContract);
            txbContractHourValue.Text = "0";
        }
예제 #17
0
 public int deleteContrato(ContratoDTO contrato)
 {
     try
     {
         int resultado = -1;
         using (ISession session = NHibernateHelper.getSessionFactory().OpenSession())
         {
             ContratoDAL DAL = new ContratoDAL(session);
             DAL.delete(contrato);
             session.Flush();
             resultado = 0;
         }
         return(resultado);
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }
예제 #18
0
        public ActionResult Post([FromBody] ContratoDTO contratoDto)
        {
            try
            {
                var contrato = _mapper.Map <Contrato>(contratoDto);

                _uof.ContratoRepository.Add(contrato);
                _uof.Commit();

                var contratoDTO = _mapper.Map <ContratoDTO>(contrato);

                return(new CreatedAtRouteResult("ObterContrato",
                                                new { id = contrato.Id }, contratoDTO));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
예제 #19
0
        public IHttpActionResult Update(int id, ContratoDTO contratoDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var contratoInPersistence = _UnityOfWork.Contratos.Get(id);

            if (contratoInPersistence == null)
            {
                return(NotFound());
            }

            Mapper.Map <ContratoDTO, Contrato>(contratoDTO, contratoInPersistence);

            _UnityOfWork.SaveChanges();

            return(Ok(contratoDTO));
        }
예제 #20
0
 private void CbbContract_SelectedIndexChanged(object sender, EventArgs e)
 {
     txbResult.Clear();
     try
     {
         if (cbbContract.SelectedValue == null || cbbContract.SelectedValue.ToString() == NOVO)
         {
             btnAddContract.Enabled    = true;
             txbContractFactor.Enabled = true;
             cbbContractType.Enabled   = true;
             btnAddContract.Text       = "Adicionar";
             txbContractFactor.Clear();
         }
         else
         {
             if (cbbContract.SelectedValue.ToString() == UtilDTO.CONTRACTS.HOUSE.ToString())
             {
                 btnAddContract.Enabled    = false;
                 txbContractFactor.Enabled = false;
                 cbbContractType.Enabled   = false;
                 UpdateDevsCombo();
             }
             else
             {
                 btnAddContract.Enabled    = true;
                 txbContractFactor.Enabled = true;
                 cbbContractType.Enabled   = true;
                 btnAddContract.Text       = "Atualizar";
                 ContratoDTO contract = config
                                        .Partners.Find(p => p.Name == cbbPartner.SelectedItem.ToString())
                                        .Contracts.Find(c => c.Name == cbbContract.SelectedValue.ToString());
                 txbContractFactor.Text = contract.Factor.ToString();
                 UpdateDevsCombo();
             }
         }
     }
     catch (Exception ex)
     {
         txbResult.Text = $"ERRO\n\nMensagem: {ex.Message}";
     }
 }
예제 #21
0
        private void BtnRemoveContract_Click(object sender, System.EventArgs e)
        {
            if (lsbPartners.SelectedItem == null ||
                lsbContracts.SelectedItem == null)
            {
                txbResult.Text = "Para remover um contrato antes deve selecionar o fornecedor e o contrato a ser removido.";
            }
            else
            {
                config
                .Partners.Find(p => p == selectedPartner)
                .Contracts
                .Remove(selectedContract);

                lsbContracts.Items.Remove(selectedContract.Name);
                selectedContract = null;
                txbContractSap.Clear();
                txbContractFactor.Clear();
                ShowLog("Contrato removido.");
            }
        }
예제 #22
0
        private void BtnAddContract_Click(object sender, System.EventArgs e)
        {
            try
            {
                ValidateContractData();

                var newContract = new ContratoDTO()
                {
                    Name      = cbbContractType.SelectedItem.ToString(),
                    Factor    = Convert.ToDouble(txbContractFactor.Text),
                    NumeroSAP = txbContractSap.Text
                };

                if (config.Partners.Find(p => p == selectedPartner).Contracts.Find(c => c.Name == newContract.Name) != null)
                {
                    newContract.Collaborators = config.Partners.Find(p => p == selectedPartner).Contracts.Find(c => c.Name == newContract.Name).Collaborators;
                }

                config
                .Partners.Find(p => p == selectedPartner)
                .Contracts
                .Remove(config.Partners.Find(p => p == selectedPartner).Contracts.Find(c => c.Name == newContract.Name));
                config
                .Partners.Find(p => p == selectedPartner)
                .Contracts
                .Add(newContract);

                lsbContracts.Items.Remove(newContract.Name);
                lsbContracts.Items.Add(newContract.Name);

                txbContractSap.Clear();
                txbContractFactor.Clear();

                ShowLog("Contrato adicionado.");
            }
            catch (Exception ex)
            {
                txbResult.Text = ex.Message;
            }
        }
예제 #23
0
        public void When_ContratoIsInativo_Then_ThrowsArgumentException()
        {
            var  repoMock     = new Mock <IRepository <Guia> >();
            Guia guiaExpected = null;

            repoMock.Setup(x => x.Find(It.IsAny <Guid>())).Returns(guiaExpected);

            var         contratoServiceMock = new Mock <IContratoService>();
            ContratoDTO contratoExpected    = new ContratoDTO();

            contratoExpected.Situcont = "Inativo";
            contratoServiceMock.Setup(x => x.Get(It.IsAny <Guid>())).Returns(contratoExpected);

            var mapper  = new MapperConfiguration(config => config.AddProfile <MappingProfiles>()).CreateMapper();
            var busMock = new Mock <IBus>();
            var service = new GuiaService(repoMock.Object, mapper, busMock.Object, contratoServiceMock.Object);

            CreateGuiaDTO guiaDTO = new CreateGuiaDTO();

            Assert.Throws(typeof(ArgumentException),
                          new TestDelegate(() => service.Save(guiaDTO)));
        }
        private void SelectPartnerAndContract()
        {
            selectedPartner = new FornecedorDTO();
            //assumindo que tera apenas um contrato deste tipo
            foreach (var partner in configXml.Partners)
            {
                if (partner.Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString()))
                {
                    selectedPartner = partner;
                    break;
                }
            }

            foreach (var sprintSm in sprintsSmList)
            {
                if (sprintSm.Contracts.Count < 1)
                {
                    ContratoDTO newContract = new ContratoDTO();
                    newContract = selectedPartner.Contracts.Find(c => c.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString());
                    sprintSm.Contracts.Add(newContract);
                }
            }
        }
예제 #25
0
        public ActionResult RecuperaContratoRetificacaoItem(int?contratoId, int?contratoRetificacaoId, int?contratoRetificacaoItemId)
        {
            ResumoLiberacaoDTO      resumo             = new ResumoLiberacaoDTO();
            List <ItemLiberacaoDTO> listaItemLiberacao = new List <ItemLiberacaoDTO>();

            if (contratoId.HasValue && contratoRetificacaoItemId.HasValue)
            {
                ContratoDTO contrato = contratoAppService.ObterPeloId(contratoId, Usuario.Id) ?? new ContratoDTO();

                if (contratoId.HasValue && !contratoAppService.EhContratoExistente(contrato))
                {
                    var msg = messageQueue.GetAll()[0].Text;
                    messageQueue.Clear();

                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = msg,
                        resumo = resumo,
                        listaItemLiberacao = listaItemLiberacao,
                        podeConcluirContrato = false,
                        redirectToUrl = string.Empty
                    }));
                }

                if (!contratoAppService.EhContratoComCentroCustoAtivo(contrato))
                {
                    var msg = messageQueue.GetAll()[0].Text;
                    messageQueue.Clear();

                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = msg,
                        resumo = resumo,
                        listaItemLiberacao = listaItemLiberacao,
                        podeConcluirContrato = false,
                        redirectToUrl = string.Empty
                    }));
                }

                if (!contratoAppService.EhUltimoContratoRetificacao(contrato.Id, contratoRetificacaoId))
                {
                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = string.Empty,
                        resumo = resumo,
                        listaItemLiberacao = listaItemLiberacao,
                        podeConcluirContrato = false,
                        redirectToUrl = Url.Action("Liberacao", "LiberacaoContrato", new { area = "Contrato", id = contrato.Id })
                    }));
                }

                ContratoRetificacaoItemDTO contratoRetificacaoItem = new ContratoRetificacaoItemDTO();
                if (contratoRetificacaoItemId.HasValue)
                {
                    if (contratoRetificacaoItemId > 0)
                    {
                        contratoRetificacaoItem = contrato.ListaContratoRetificacaoItem.Where(l => l.Id == contratoRetificacaoItemId).FirstOrDefault() ?? new ContratoRetificacaoItemDTO();
                    }
                    contratoAppService.RecuperarMedicoesALiberar(contrato, contratoRetificacaoItem, resumo, out listaItemLiberacao);
                    bool podeConcluirContrato = contratoAppService.PodeConcluirContrato(contrato);
                    return(Json(new
                    {
                        ehRecuperou = true,
                        errorMessage = string.Empty,
                        resumo = resumo,
                        listaItemLiberacao = JsonConvert.SerializeObject(listaItemLiberacao, Formatting.Indented, new JsonSerializerSettings {
                            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                        }),
                        podeConcluirContrato = podeConcluirContrato,
                        redirectToUrl = string.Empty
                    }));
                }
            }

            return(Json(new
            {
                ehRecuperou = false,
                errorMessage = string.Empty,
                resumo = resumo,
                listaItemLiberacao = listaItemLiberacao,
                podeConcluirContrato = false,
                redirectToUrl = string.Empty
            }));
        }
예제 #26
0
        public ActionResult Liberacao(int?id)
        {
            LiberacaoContratoLiberacaoViewModel      model = new LiberacaoContratoLiberacaoViewModel();
            ICollection <ContratoRetificacaoItemDTO> ListaItensUltimoContratoRetificacao = new HashSet <ContratoRetificacaoItemDTO>();

            ContratoDTO contrato = contratoAppService.ObterPeloId(id, Usuario.Id) ?? new ContratoDTO();
            ContratoRetificacaoItemDTO contratoRetificacaoItem = new ContratoRetificacaoItemDTO();

            model.ListaServicoContratoRetificacaoItem = new SelectList(new List <ContratoRetificacaoItemDTO>(), "Id", "SequencialDescricaoItemComplemento");

            model.ContratoRetificacaoItemMedicao.ContratoId = contrato.Id.Value;
            model.Contrato = contrato;

            if (id.HasValue && !contratoAppService.EhContratoExistente(contrato))
            {
                return(View(model));
            }

            if (!contratoAppService.EhContratoComCentroCustoAtivo(contrato))
            {
                return(View(model));
            }

            ContratoRetificacaoDTO contratoRetificacao = contrato.ListaContratoRetificacao.Last();

            if (!contratoRetificacaoAppService.EhRetificacaoExistente(contratoRetificacao))
            {
                return(View(model));
            }

            if (!contratoRetificacaoAppService.EhRetificacaoAprovada(contratoRetificacao))
            {
                return(View(model));
            }

            model.ContratoRetificacao = contratoRetificacao;

            model.ContratoRetificacaoItemMedicao.ContratoRetificacaoId = contratoRetificacao.Id.Value;

            ListaItensUltimoContratoRetificacao = contratoRetificacao.ListaContratoRetificacaoItem;

            ListaItensUltimoContratoRetificacao.Add(CriaRetificacaoItemFakeTodosOsItens());

            model.ListaServicoContratoRetificacaoItem = new SelectList(ListaItensUltimoContratoRetificacao.OrderBy(l => l.Sequencial), "Id", "SequencialDescricaoItemComplemento", ListaItensUltimoContratoRetificacao.Select(l => l.Id.Value));

            List <ItemLiberacaoDTO> listaItemLiberacao = new List <ItemLiberacaoDTO>();

            contratoAppService.RecuperarMedicoesALiberar(contrato, contratoRetificacaoItem, model.Resumo, out listaItemLiberacao);
            model.PodeConcluirContrato = contratoAppService.PodeConcluirContrato(contrato);

            model.JsonListaItemLiberacao = JsonConvert.SerializeObject(listaItemLiberacao, Formatting.Indented, new JsonSerializerSettings {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            model.PodeHabilitarBotoes = contratoAppService.EhPermitidoHabilitarBotoes(contrato);

            model.PodeAprovarLiberar        = contratoAppService.EhPermitidoAprovarLiberarLiberacao();
            model.PodeAprovar               = contratoAppService.EhPermitidoAprovarLiberacao();
            model.PodeLiberar               = contratoAppService.EhPermitidoLiberarLiberacao();
            model.PodeCancelarLiberacao     = contratoAppService.EhPermitidoCancelarLiberacao();
            model.PodeAssociarNotaFiscal    = contratoAppService.EhPermitidoAssociarNFLiberacao();
            model.PodeAlterarDataVencimento = contratoAppService.EhPermitidoAlterarvencimentoLiberacao();
            model.PodeImprimirMedicao       = contratoAppService.EhPermitidoImprimirMedicaoLiberacao();

            model.DataVencimento = DateTime.Now;

            CarregarCombos(model);

            return(View(model));
        }
예제 #27
0
        public ActionResult RecuperaContratoRetificacaoItem(int?contratoId, int?contratoRetificacaoItemId)
        {
            List <ContratoRetificacaoProvisaoDTO> listaContratoRetificacaoProvisao = null;
            ContratoRetificacaoItemDTO            contratoRetificacaoItem          = new ContratoRetificacaoItemDTO();

            if (contratoId.HasValue && contratoRetificacaoItemId.HasValue)
            {
                listaContratoRetificacaoProvisao = contratoAppService.ObterListaCronogramaPorContratoEhRetificacaoItem(contratoId.Value, contratoRetificacaoItemId.Value);

                ContratoDTO contrato = contratoAppService.ObterPeloId(contratoId.Value, Usuario.Id);
                contratoRetificacaoItem = contrato.ListaContratoRetificacaoItem.Where(l => l.Id == contratoRetificacaoItemId).SingleOrDefault();

                bool EhNaturezaItemPorPrecoGlobal   = contratoRetificacaoItemAppService.EhNaturezaItemPrecoGlobal(contratoRetificacaoItem);
                bool EhNaturezaItemPorPrecoUnitario = contratoRetificacaoItemAppService.EhNaturezaItemPrecoUnitario(contratoRetificacaoItem);

                if (!contratoAppService.EhContratoAssinado(contrato))
                {
                    var msg = messageQueue.GetAll()[0].Text;
                    messageQueue.Clear();
                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = msg,
                        ehNaturezaItemPorPrecoGlobal = EhNaturezaItemPorPrecoGlobal,
                        ehNaturezaItemPorPrecoUnitario = EhNaturezaItemPorPrecoUnitario,
                        contratoRetificacaoItem = contratoRetificacaoItem,
                    }));
                }


                if (!contratoAppService.ExisteContratoRetificacaoProvisao(listaContratoRetificacaoProvisao))
                {
                    var msg = messageQueue.GetAll()[0].Text;
                    messageQueue.Clear();
                    return(Json(new
                    {
                        ehRecuperou = false,
                        errorMessage = msg,
                        ehNaturezaItemPorPrecoGlobal = EhNaturezaItemPorPrecoGlobal,
                        ehNaturezaItemPorPrecoUnitario = EhNaturezaItemPorPrecoUnitario,
                        contratoRetificacaoItem = contratoRetificacaoItem,
                    }));
                }
                else
                {
                    contratoRetificacaoItem = listaContratoRetificacaoProvisao.ElementAt(0).ContratoRetificacaoItem;

                    EhNaturezaItemPorPrecoGlobal   = contratoRetificacaoItemAppService.EhNaturezaItemPrecoGlobal(contratoRetificacaoItem);
                    EhNaturezaItemPorPrecoUnitario = contratoRetificacaoItemAppService.EhNaturezaItemPrecoUnitario(contratoRetificacaoItem);
                    List <ContratoRetificacaoProvisaoDTO> listaContratoRetificacaoProvisaoAux = new List <ContratoRetificacaoProvisaoDTO>();
                    ContratoRetificacaoItemCronogramaDTO  contratoRetificacaoItemCronograma   = listaContratoRetificacaoProvisao.Select(l => l.ContratoRetificacaoItemCronograma).FirstOrDefault();

                    if (contratoRetificacaoItemCronograma != null)
                    {
                        listaContratoRetificacaoProvisaoAux = listaContratoRetificacaoProvisao.
                                                              OrderBy(l => l.ContratoRetificacaoItemCronograma.DataVencimento).
                                                              ThenByDescending(l => l.ContratoRetificacaoItemCronograma.Sequencial).ToList();
                    }
                    else
                    {
                        listaContratoRetificacaoProvisaoAux = listaContratoRetificacaoProvisao;
                    }


                    return(Json(new
                    {
                        ehRecuperou = true,
                        errorMessage = string.Empty,
                        ehNaturezaItemPorPrecoGlobal = EhNaturezaItemPorPrecoGlobal,
                        ehNaturezaItemPorPrecoUnitario = EhNaturezaItemPorPrecoUnitario,
                        contratoRetificacaoItem = contratoRetificacaoItem,
                        //listaContratoRetificacaoProvisao = listaContratoRetificacaoProvisao.
                        //                                    OrderBy(l => l.ContratoRetificacaoItemCronograma.DataVencimento).
                        //                                    ThenByDescending(l => l.ContratoRetificacaoItemCronograma.Sequencial)
                        listaContratoRetificacaoProvisao = listaContratoRetificacaoProvisaoAux
                    }));
                }
            }
            return(Json(new
            {
                ehRecuperou = false,
                errorMessage = string.Empty,
                ehNaturezaItemPorPrecoGlobal = true,
                ehNaturezaItemPorPrecoUnitario = false,
                contratoRetificacaoItem = contratoRetificacaoItem
            }));
        }
예제 #28
0
        public async Task <ActionResult <Contrato> > InsertConsolidado([FromBody] ContratoDTO _Contrato)
        {
            Contrato _Contratoq = new Contrato();

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _Contratoq = _Contrato.Contrato;
                        _context.Contrato.Add(_Contratoq);
                        await _context.SaveChangesAsync();

                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _Contratoq.ContratoId,
                            DocType      = "Contrato",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_Contratoq, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Insertar",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _Contratoq.UsuarioCreacion,
                            UsuarioModificacion = _Contratoq.UsuarioModificacion,
                            UsuarioEjecucion    = _Contratoq.UsuarioModificacion,
                        });

                        await _context.SaveChangesAsync();


                        Contrato_detalle _contratodetalle = new Contrato_detalle();
                        foreach (Contrato_detalle _cd in _Contratoq.Contrato_detalle)
                        {
                            _contratodetalle          = _cd;
                            _contratodetalle.Contrato = _Contratoq;
                            _context.Contrato_detalle.Add(_contratodetalle);
                            await _context.SaveChangesAsync();

                            _write = new BitacoraWrite(_context, new Bitacora
                            {
                                IdOperacion  = _contratodetalle.Contrato_detalleId,
                                DocType      = "Contrato_detalle",
                                ClaseInicial =
                                    Newtonsoft.Json.JsonConvert.SerializeObject(_contratodetalle, new JsonSerializerSettings {
                                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                                }),
                                Accion              = "Insertar",
                                FechaCreacion       = DateTime.Now,
                                FechaModificacion   = DateTime.Now,
                                UsuarioCreacion     = _contratodetalle.UsuarioCreacion,
                                UsuarioModificacion = _contratodetalle.UsuarioModificacion,
                                UsuarioEjecucion    = _contratodetalle.UsuarioModificacion,
                            });

                            await _context.SaveChangesAsync();
                        }

                        Contrato_plan_pagos _Contrato_plan_pagosq = new Contrato_plan_pagos();

                        foreach (Contrato_plan_pagos _cpp in _Contratoq.Contrato_plan_pagos)
                        {
                            _Contrato_plan_pagosq          = _cpp;
                            _Contrato_plan_pagosq.Contrato = _Contratoq;
                            _context.Contrato_plan_pagos.Add(_Contrato_plan_pagosq);
                            await _context.SaveChangesAsync();

                            _write = new BitacoraWrite(_context, new Bitacora
                            {
                                IdOperacion  = _Contrato_plan_pagosq.Nro_cuota,
                                DocType      = "Contrato_plan_pagos",
                                ClaseInicial =
                                    Newtonsoft.Json.JsonConvert.SerializeObject(_Contrato_plan_pagosq, new JsonSerializerSettings {
                                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                                }),
                                Accion              = "Insertar",
                                FechaCreacion       = DateTime.Now,
                                FechaModificacion   = DateTime.Now,
                                UsuarioCreacion     = _Contrato_plan_pagosq.UsuarioCreacion,
                                UsuarioModificacion = _Contrato_plan_pagosq.UsuarioModificacion,
                                UsuarioEjecucion    = _Contrato_plan_pagosq.UsuarioModificacion,
                            });
                        }

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                        throw ex;
                        // return BadRequest($"Ocurrio un error:{ex.Message}");
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }

            return(await Task.Run(() => Ok(_Contratoq)));
        }
예제 #29
0
        private void SetDevSprintWithContractsAndDevs()
        {
            foreach (var selectedDevSprint in sprintsDevList)
            {
                //Caso a lista ainda não tenha contratos de dev criados
                if (selectedDevSprint.Contracts.Count == 0)
                {
                    //Caso o time tenha devs da casa
                    if (configXml.BaneseDes.Count > 0)
                    {
                        ContratoDTO houseDevContract = new ContratoDTO()
                        {
                            Name        = UtilDTO.CONTRACTS.HOUSE.ToString(),
                            PartnerName = UtilDTO.CONTRACTS.HOUSE.ToString()
                        };
                        foreach (var dev in configXml.BaneseDes)
                        {
                            ColaboradorDTO houseDev = new ColaboradorDTO()
                            {
                                Name               = dev.Name,
                                WorksHalfDay       = dev.WorksHalfDay,
                                AbsenceDays        = 0,
                                ExtraHoursExpenses = 0
                            };
                            houseDevContract.Collaborators.Add(houseDev);
                        }
                        selectedDevSprint.Contracts.Add(houseDevContract);
                    }

                    foreach (var partner in configXml.Partners)
                    {
                        foreach (var contract in partner.Contracts)
                        {
                            if (contract.Name != UtilDTO.CONTRACTS.SM_FIXO.ToString() &&
                                contract.Name != UtilDTO.CONTRACTS.SM_MEDIA.ToString())
                            {
                                ContratoDTO newContract = new ContratoDTO()
                                {
                                    Name        = contract.Name,
                                    Factor      = contract.Factor,
                                    HourValue   = contract.HourValue,
                                    NumeroSAP   = contract.NumeroSAP,
                                    PartnerName = partner.Name
                                };
                                foreach (var dev in contract.Collaborators)
                                {
                                    ColaboradorDTO newDev = new ColaboradorDTO()
                                    {
                                        Name               = dev.Name,
                                        AbsenceDays        = 0,
                                        ExtraHoursExpenses = 0,
                                        WorksHalfDay       = dev.WorksHalfDay
                                    };
                                    newContract.Collaborators.Add(newDev);
                                }
                                selectedDevSprint.Contracts.Add(newContract);
                            }
                        }
                    }
                }
            }
        }