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); } } } } } } }
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}"; } } }
public void Add(ContratoDTO contrato) { AtualizarConteudoArquivo(contrato); _contratoRepository.Add(_mapper.Map <Contrato>(contrato)); _contratoRepository.Save(); }
public void Delete(ContratoDTO contrato) { var obj = _contratoRepository.GetById(contrato.Id); _contratoRepository.Delete(obj); _contratoRepository.Save(); }
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()); }
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 })); }
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(); }
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()); }
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)); }
// 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); }
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}"; } }
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 : "")); } }
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 : "")); } }
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"; }
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 : "")); } }
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()); } }
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)); }
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}"; } }
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."); } }
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; } }
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); } } }
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 })); }
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)); }
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 })); }
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))); }
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); } } } } } }