public int RegistrarNotaSalidaAlmacen(RegistrarNotaSalidaAlmacenRequestDTO request) { NotaSalidaAlmacen notaSalidaAlmacen = new NotaSalidaAlmacen(); List <NotaSalidaAlmacenDetalle> lstnotaSalidaAlmacen = new List <NotaSalidaAlmacenDetalle>(); int affected = 0; List <TablaIdsTipo> loteIdActualizar = new List <TablaIdsTipo>(); notaSalidaAlmacen.EmpresaId = request.EmpresaId; notaSalidaAlmacen.AlmacenId = request.AlmacenId; notaSalidaAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.NotaSalidaAlmacen); notaSalidaAlmacen.MotivoTrasladoId = request.MotivoTrasladoId; notaSalidaAlmacen.MotivoTrasladoReferencia = request.MotivoTrasladoReferencia; 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.CantidadLotes = request.CantidadLotes; //notaSalidaAlmacen.PromedioPorcentajeRendimiento = request.PromedioPorcentajeRendimiento; notaSalidaAlmacen.CantidadTotal = request.CantidadTotal; notaSalidaAlmacen.PesoKilosBrutos = request.PesoKilosBrutos; notaSalidaAlmacen.EstadoId = NotaSalidaAlmacenEstados.Ingresado; notaSalidaAlmacen.FechaRegistro = DateTime.Now; notaSalidaAlmacen.UsuarioRegistro = request.UsuarioNotaSalidaAlmacen; notaSalidaAlmacen.NotaSalidaAlmacenId = _INotaSalidaAlmacenRepository.Insertar(notaSalidaAlmacen); if (notaSalidaAlmacen.NotaSalidaAlmacenId != 0) { request.ListNotaSalidaAlmacenDetalle.ForEach(x => { NotaSalidaAlmacenDetalle obj = new NotaSalidaAlmacenDetalle(); obj.LoteId = x.LoteId; obj.NotaSalidaAlmacenId = notaSalidaAlmacen.NotaSalidaAlmacenId; lstnotaSalidaAlmacen.Add(obj); TablaIdsTipo tablaLoteIdsTipo = new TablaIdsTipo(); tablaLoteIdsTipo.Id = x.LoteId; loteIdActualizar.Add(tablaLoteIdsTipo); }); affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenDetalle(lstnotaSalidaAlmacen, notaSalidaAlmacen.NotaSalidaAlmacenId); _LoteRepository.ActualizarEstadoPorIds(loteIdActualizar, DateTime.Now, request.UsuarioNotaSalidaAlmacen, LoteEstados.GeneradoNotaSalida); } #region Guia Remision int guiaRemisionAlmacenId; //GuiaRemisionAlmacen guiaRemisionAlmacen = new GuiaRemisionAlmacen(); GuiaRemisionAlmacen guiaRemisionAlmacen = _Mapper.Map <GuiaRemisionAlmacen>(notaSalidaAlmacen); guiaRemisionAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.GuiaRemisionAlmacen); #region Comentado Guia de Remision string tipoProduccionId = String.Empty; string tipoCertificacionId = String.Empty; List <ConsultaNotaSalidaAlmacenLotesDetallePorIdBE> NotaSalidaDetalle = _INotaSalidaAlmacenRepository.ConsultarNotaSalidaAlmacenLotesDetallePorIdBE(notaSalidaAlmacen.NotaSalidaAlmacenId).ToList(); if (NotaSalidaDetalle.Count > 0) { tipoProduccionId = NotaSalidaDetalle[0].TipoProduccionId; tipoCertificacionId = NotaSalidaDetalle[0].TipoCertificacionId; } guiaRemisionAlmacen.TipoProduccionId = tipoProduccionId; guiaRemisionAlmacen.TipoCertificacionId = tipoCertificacionId; guiaRemisionAlmacenId = _IGuiaRemisionAlmacenRepository.Insertar(guiaRemisionAlmacen); if (guiaRemisionAlmacenId != 0) { List <GuiaRemisionAlmacenDetalleTipo> listaDetalle = new List <GuiaRemisionAlmacenDetalleTipo>(); if (NotaSalidaDetalle.Any()) { NotaSalidaDetalle.ForEach(x => { GuiaRemisionAlmacenDetalleTipo item = _Mapper.Map <GuiaRemisionAlmacenDetalleTipo>(x); item.GuiaRemisionAlmacenId = guiaRemisionAlmacenId; item.FechaLote = x.FechaRegistro; item.UnidadMedidaIdPesado = x.UnidadMedidaId; item.ProductoId = x.ProductoId; item.SubProductoId = x.SubProductoId; item.NumeroLote = x.NumeroLote; item.CantidadPesado = x.Cantidad; item.KilosNetosPesado = x.TotalKilosNetosPesado; item.KilosBrutosPesado = x.TotalKilosBrutosPesado; item.RendimientoPorcentaje = x.RendimientoPorcentaje; item.HumedadPorcentaje = x.HumedadPorcentajeAnalisisFisico; item.TipoProduccionId = x.TipoProduccionId; item.TipoCertificacionId = x.TipoCertificacionId; listaDetalle.Add(item); }); _IGuiaRemisionAlmacenRepository.ActualizarGuiaRemisionAlmacenDetalle(listaDetalle); } } #endregion Comentado Guia de Remision #endregion return(affected); }