public IActionResult Actualizar([FromBody] RegistrarNotaSalidaAlmacenPlantaRequestDTO request) { Guid guid = Guid.NewGuid(); _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(request)}"); RegistrarNotaCompraResponseDTO response = new RegistrarNotaCompraResponseDTO(); try { response.Result.Data = _NotaSalidaAlmacenPlantaService.ActualizarNotaSalidaAlmacenPlanta(request); response.Result.Success = true; } catch (ResultException ex) { response.Result = new Result() { Success = true, ErrCode = ex.Result.ErrCode, Message = ex.Result.Message }; } catch (Exception ex) { response.Result = new Result() { Success = false, Message = "Ocurrio un problema en el servicio, intentelo nuevamente." }; _log.RegistrarEvento(ex, guid.ToString()); } _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(response)}"); return(Ok(response)); }
public int RegistrarNotaSalidaAlmacenPlanta(RegistrarNotaSalidaAlmacenPlantaRequestDTO request) { NotaSalidaAlmacenPlanta notaSalidaAlmacen = new NotaSalidaAlmacenPlanta(); List <NotaSalidaAlmacenPlantaDetalle> lstnotaSalidaAlmacen = new List <NotaSalidaAlmacenPlantaDetalle>(); int affected = 0; List <TablaIdsTipo> notaIngresoIdActualizar = new List <TablaIdsTipo>(); notaSalidaAlmacen.EmpresaId = request.EmpresaId; notaSalidaAlmacen.AlmacenId = request.AlmacenId; notaSalidaAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.NotaSalidaAlmacenPlanta); notaSalidaAlmacen.MotivoSalidaId = request.MotivoSalidaId; notaSalidaAlmacen.MotivoSalidaReferencia = request.MotivoSalidaReferencia; notaSalidaAlmacen.EmpresaIdDestino = request.EmpresaIdDestino; notaSalidaAlmacen.EmpresaTransporteId = request.EmpresaTransporteId; notaSalidaAlmacen.TransporteId = request.TransporteId; notaSalidaAlmacen.NumeroConstanciaMTC = request.NumeroConstanciaMTC; notaSalidaAlmacen.MarcaTractorId = request.MarcaTractorId; notaSalidaAlmacen.PlacaTractor = request.PlacaTractor; notaSalidaAlmacen.MarcaCarretaId = request.MarcaCarretaId; notaSalidaAlmacen.PlacaCarreta = request.PlacaCarreta; notaSalidaAlmacen.Conductor = request.Conductor; notaSalidaAlmacen.Licencia = request.Licencia; notaSalidaAlmacen.Observacion = request.Observacion; //notaSalidaAlmacen.PromedioPorcentajeRendimiento = request.PromedioPorcentajeRendimiento; notaSalidaAlmacen.CantidadTotal = request.CantidadTotal; notaSalidaAlmacen.PesoKilosBrutos = request.PesoKilosBrutos; notaSalidaAlmacen.PesoKilosNetos = request.PesoKilosNetos; notaSalidaAlmacen.Tara = request.Tara; notaSalidaAlmacen.EstadoId = NotaSalidaAlmacenEstados.Ingresado; notaSalidaAlmacen.FechaRegistro = DateTime.Now; notaSalidaAlmacen.UsuarioRegistro = request.UsuarioNotaSalidaAlmacenPlanta; notaSalidaAlmacen.NotaSalidaAlmacenPlantaId = _INotaSalidaAlmacenPlantaRepository.Insertar(notaSalidaAlmacen); if (notaSalidaAlmacen.NotaSalidaAlmacenPlantaId != 0) { request.ListNotaSalidaAlmacenPlantaDetalle.ForEach(x => { NotaSalidaAlmacenPlantaDetalle obj = new NotaSalidaAlmacenPlantaDetalle(); obj.NotaIngresoAlmacenPlantaId = x.NotaIngresoAlmacenPlantaId; obj.NotaSalidaAlmacenPlantaId = notaSalidaAlmacen.NotaSalidaAlmacenPlantaId; lstnotaSalidaAlmacen.Add(obj); TablaIdsTipo tablaLoteIdsTipo = new TablaIdsTipo(); tablaLoteIdsTipo.Id = x.NotaIngresoAlmacenPlantaId; notaIngresoIdActualizar.Add(tablaLoteIdsTipo); }); affected = _INotaSalidaAlmacenPlantaRepository.ActualizarNotaSalidaAlmacenPlantaDetalle(lstnotaSalidaAlmacen, notaSalidaAlmacen.NotaSalidaAlmacenPlantaId); _NotaIngresoAlmacenPlantaRepository.ActualizarEstadoPorIds(notaIngresoIdActualizar, DateTime.Now, request.UsuarioNotaSalidaAlmacenPlanta, NotaIngresoAlmacenPlantaEstados.GeneradoNotaSalida); } int guiaRemisionAlmacenId; //GuiaRemisionAlmacen guiaRemisionAlmacen = new GuiaRemisionAlmacen(); GuiaRemisionAlmacenPlanta guiaRemisionAlmacen = _Mapper.Map <GuiaRemisionAlmacenPlanta>(notaSalidaAlmacen); guiaRemisionAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.GuiaRemisionAlmacenPlanta); string tipoProduccionId = String.Empty; string tipoCertificacionId = String.Empty; List <ConsultaNotaSalidaAlmacenPlantaDetallePorIdBE> NotaSalidaDetalle = _INotaSalidaAlmacenPlantaRepository.ConsultarNotaSalidaAlmacenPlantaDetallePorIdBE(notaSalidaAlmacen.NotaSalidaAlmacenPlantaId).ToList(); if (NotaSalidaDetalle.Count > 0) { tipoProduccionId = NotaSalidaDetalle[0].TipoProduccionId; tipoCertificacionId = NotaSalidaDetalle[0].CertificacionId; } guiaRemisionAlmacen.TipoProduccionId = "";; guiaRemisionAlmacen.TipoCertificacionId = ""; guiaRemisionAlmacen.EstadoId = GuiaRemisionAlmacenEstados.Ingresado; guiaRemisionAlmacenId = _IGuiaRemisionAlmacenPlantaRepository.Insertar(guiaRemisionAlmacen); if (guiaRemisionAlmacenId != 0) { List <GuiaRemisionAlmacenPlantaDetalleTipo> listaDetalle = new List <GuiaRemisionAlmacenPlantaDetalleTipo>(); if (NotaSalidaDetalle.Any()) { NotaSalidaDetalle.ForEach(x => { GuiaRemisionAlmacenPlantaDetalleTipo item = _Mapper.Map <GuiaRemisionAlmacenPlantaDetalleTipo>(x); item.GuiaRemisionAlmacenPlantaId = guiaRemisionAlmacenId; item.NotaIngresoAlmacenPlantaId = x.NotaIngresoAlmacenPlantaId; item.NumeroNotaIngresoAlmacenPlanta = x.NumeroNotaIngresoAlmacenPlanta; item.ProductoId = x.ProductoId; item.SubProductoId = x.SubProductoId; item.UnidadMedidaIdPesado = x.UnidadMedidaIdPesado; item.CalidadId = x.CalidadId; item.GradoId = x.GradoId; item.CantidadPesado = x.CantidadPesado; item.CantidadDefectos = x.CantidadDefectos; item.KilosNetosPesado = x.KilosNetosPesado; item.KilosBrutosPesado = x.KilosBrutosPesado; item.TaraPesado = x.TaraPesado; listaDetalle.Add(item); }); _IGuiaRemisionAlmacenPlantaRepository.ActualizarGuiaRemisionAlmacenPlantaDetalle(listaDetalle); } } _NotaIngresoAlmacenPlantaRepository.ActualizarEstadoPorIds(notaIngresoIdActualizar, DateTime.Now, request.UsuarioNotaSalidaAlmacenPlanta, NotaIngresoAlmacenPlantaEstados.GeneradoNotaSalida); return(affected); }