//INSERTAR public DtoLib.ResultadoAuto Producto_Movimiento_Ajuste_Insertar(DtoLibInventario.Movimiento.Ajuste.Insertar.Ficha ficha) { var rv1 = ServiceProv.Producto_Movimiento_Verificar_DepositoSucursalActivo( ficha.mov.autoDepositoOrigen, ficha.mov.autoDepositoDestino, ficha.mov.codigoSucursal); if (rv1.Result == DtoLib.Enumerados.EnumResult.isError) { var rte = new DtoLib.ResultadoAuto() { Mensaje = rv1.Mensaje, Result = DtoLib.Enumerados.EnumResult.isError, }; return(rte); } var rt1 = ServiceProv.Configuracion_CostoEdadProducto(); if (rt1.Result == DtoLib.Enumerados.EnumResult.isError) { var rtx = new DtoLib.ResultadoAuto() { Mensaje = rt1.Mensaje, Result = rt1.Result, }; return(rtx); } var costoEdad = rt1.Entidad; var lista = new List <DtoLibInventario.Movimiento.Verificar.ExistenciaDisponible.Ficha>(); foreach (var rg in ficha.movDeposito.Where(w => w.cantidadUnd < 0).ToList()) { lista.Add(new DtoLibInventario.Movimiento.Verificar.ExistenciaDisponible.Ficha() { autoProducto = rg.autoProducto, autoDeposito = rg.autoDeposito, cantidadUnd = Math.Abs(rg.cantidadUnd), }); } var rt = ServiceProv.Producto_Movimiento_Verificar_ExistenciaDisponible(lista); if (rt.Result == DtoLib.Enumerados.EnumResult.isError || rt.Entidad == false) { var rte = new DtoLib.ResultadoAuto() { Auto = "", Mensaje = rt.Mensaje, Result = DtoLib.Enumerados.EnumResult.isError, }; return(rte); } if (costoEdad > 0) { var listaCostoEdad = new List <DtoLibInventario.Movimiento.Verificar.CostoEdad.FichaDetalle>(); foreach (var rg in ficha.movDeposito.Where(w => w.cantidadUnd < 0).ToList()) { listaCostoEdad.Add(new DtoLibInventario.Movimiento.Verificar.CostoEdad.FichaDetalle() { autoProducto = rg.autoProducto, }); } var fichaCostoEdad = new DtoLibInventario.Movimiento.Verificar.CostoEdad.Ficha() { detalles = listaCostoEdad, dias = costoEdad, }; if (listaCostoEdad.Count > 0) { var rt2 = ServiceProv.Producto_Movimiento_Verificar_CostoEdad(fichaCostoEdad); if (rt2.Result == DtoLib.Enumerados.EnumResult.isError || rt2.Entidad == false) { var rte = new DtoLib.ResultadoAuto() { Auto = "", Mensaje = rt2.Mensaje, Result = DtoLib.Enumerados.EnumResult.isError, }; return(rte); } } } return(ServiceProv.Producto_Movimiento_Ajuste_Insertar(ficha)); }
//INSERTAR public OOB.ResultadoAuto Producto_Movimiento_Ajuste_Insertar(OOB.LibInventario.Movimiento.Ajuste.Insertar.Ficha data) { var rt = new OOB.ResultadoAuto(); var mov = data.mov; var movDTO = new DtoLibInventario.Movimiento.Ajuste.Insertar.FichaMov() { autoConcepto = mov.autoConcepto, autoDepositoDestino = mov.autoDepositoDestino, autoDepositoOrigen = mov.autoDepositoOrigen, autoRemision = mov.autoRemision, autorizado = mov.autorizado, autoUsuario = mov.autoUsuario, cierreFtp = mov.cierreFtp, codConcepto = mov.codConcepto, codDepositoDestino = mov.codDepositoDestino, codDepositoOrigen = mov.codDepositoOrigen, codigoSucursal = mov.codigoSucursal, codUsuario = mov.codUsuario, desConcepto = mov.desConcepto, desDepositoDestino = mov.desDepositoDestino, desDepositoOrigen = mov.desDepositoOrigen, documentoNombre = mov.documentoNombre, estacion = mov.estacion, estatusAnulado = mov.estatusAnulado, estatusCierreContable = mov.estatusCierreContable, nota = mov.nota, renglones = mov.renglones, situacion = mov.situacion, tipo = mov.tipo, total = mov.total, usuario = mov.usuario, factorCambio = mov.factorCambio, montoDivisa = mov.montoDivisa, }; var movDetDTO = data.movDetalles.Select(s => { var dt = new DtoLibInventario.Movimiento.Ajuste.Insertar.FichaMovDetalle() { autoDepartamento = s.autoDepartamento, autoGrupo = s.autoGrupo, autoProducto = s.autoProducto, cantidad = s.cantidad, cantidadBono = s.cantidadBono, cantidadUnd = s.cantidadUnd, categoria = s.categoria, codigoProducto = s.codigoProducto, contEmpaque = s.contEmpaque, costoCompra = s.costoCompra, costoUnd = s.costoUnd, decimales = s.decimales, empaque = s.empaque, estatusAnulado = s.estatusAnulado, estatusUnidad = s.estatusUnidad, nombreProducto = s.nombreProducto, signo = s.signo, tipo = s.tipo, total = s.total, }; return(dt); }).ToList(); var movKardexDTO = data.movKardex.Select(s => { var dt = new DtoLibInventario.Movimiento.Ajuste.Insertar.FichaMovKardex() { autoConcepto = s.autoConcepto, autoDeposito = s.autoDeposito, autoProducto = s.autoProducto, cantidad = s.cantidad, cantidadBono = s.cantidadBono, cantidadUnd = s.cantidadUnd, codigoMov = s.codigoMov, codigoSucursal = s.codigoSucursal, costoUnd = s.costoUnd, entidad = s.entidad, estatusAnulado = s.estatusAnulado, modulo = s.modulo, nota = s.nota, precioUnd = s.precioUnd, siglasMov = s.siglasMov, signoMov = s.signoMov, total = s.total, codigoConcepto = s.codigoConcepto, nombreConcepto = s.nombreConcepto, codigoDeposito = s.codigoDeposito, nombreDeposito = s.nombreDeposito, }; return(dt); }).ToList(); var movDepDTO = data.movDeposito.Select(s => { var dt = new DtoLibInventario.Movimiento.Ajuste.Insertar.FichaMovDeposito() { autoProducto = s.autoProducto, autoDeposito = s.autoDeposito, cantidadUnd = s.cantidadUnd, nombreProducto = s.nombreProducto, nombreDeposito = s.nombreDeposito, }; return(dt); }).ToList(); var fichaDto = new DtoLibInventario.Movimiento.Ajuste.Insertar.Ficha() { mov = movDTO, movDeposito = movDepDTO, movDetalles = movDetDTO, movKardex = movKardexDTO, }; var r01 = MyData.Producto_Movimiento_Ajuste_Insertar(fichaDto); if (r01.Result == DtoLib.Enumerados.EnumResult.isError) { rt.Mensaje = r01.Mensaje; rt.Result = OOB.Enumerados.EnumResult.isError; return(rt); } rt.Auto = r01.Auto; return(rt); }