public long insertarActualizarDocumentoRecepcion(DocumentoRecepcionModel model) { Mapper.CreateMap <DocumentoRecepcionModel, InsertarActualizarDocumentoRecepcionCommand>(); var command = Mapper.Map <DocumentoRecepcionModel, InsertarActualizarDocumentoRecepcionCommand>(model); var resp = (InsertarActualizarDocumentoRecepcionOutput)command.Execute(); return(resp.iddocumentorecepcion); }
public ActionResult RecepcionMasivaosr() { Session["DocumentoRecepcion"] = null; var modRecepcion = new DocumentoRecepcionModel(); ViewData["listaorigen"] = MantenimientoData.GetListarValoresxTabla((Int32)Constantes.MaestroTablas.Origen); var sucursal = new SucursalData().ListarSucursal("", "", null, Usuario.idpartner); var listasucursal = new SelectList( sucursal, "idsucursal", "nombre"); ViewData["listasucursal"] = listasucursal; var fabricante = new PartnerData().ListarPartner(null, null).Where(x => x.idtipopartner.Equals(2)).ToList(); var listafabricante = new SelectList( fabricante , "idpartner" , "razonsocial" ); ViewData["listafabricante"] = listafabricante; var producto = new ProductoData().listarProducto("", "", null, null, null, false); var listaproducto = new SelectList(producto, "idproducto", "descripcionlarga"); ViewData["listaproducto"] = listaproducto; var cliente = MantenimientoData.GetListarClientes(null, true); var listacliente = new SelectList( cliente , "idcliente" , "nombre" ); ViewData["listacliente"] = listacliente; var partners = new PartnerData().ListarPartner(null, null); var listapartners = new SelectList( partners , "idpartner" , "razonsocial" ); ViewData["listapartner"] = listapartners; return(View(modRecepcion)); }
public PartialViewResult SubirArchivo() { DocumentoRecepcionModel model = new DocumentoRecepcionModel(); return(PartialView("_UploadFile", model)); }
public JsonResult SubirArchivo(HttpPostedFileBase archivo, DocumentoRecepcionModel model) { string RutaArchivos = ConfigurationManager.AppSettings["Uploads"].ToString(); string Carpeta = "File_" + Usuario.Idusuario.ToString(); string Rutagrabar = RutaArchivos + Carpeta + "\\"; string file = string.Empty; string archivo_subir = (DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + archivo.FileName).ToLower(); archivo_subir = archivo_subir.Replace(" ", "_").ToString(); var mod_archivo = new DocumentoRecepcionModel(); var allowedExtensions = new[] { ".xlsx", ".xls" }; var checkextension = Path.GetExtension(archivo.FileName).ToLower(); if (!allowedExtensions.Contains(checkextension)) { return(Json(new { res = false, msj = "No se puede subir archivos con la extensión: " + checkextension }, JsonRequestBehavior.AllowGet)); } else { file = Rutagrabar + archivo_subir; } try { if (Directory.Exists(Rutagrabar)) { archivo.SaveAs(file); } else { Directory.CreateDirectory(Rutagrabar); archivo.SaveAs(file); } //validar archivo... // const Int32 BufferSize = 128; //var line = string.Empty; try { var book = new ExcelQueryFactory(file); var headers = book.GetColumnNames("Carga01"); var _datos = book.Worksheet(0).Skip(1); var comprobar = headers.ToList(); //if ("Código" != comprobar[0]) // return Json(new { res = false, msj = "El archivo no tiene el formato establecido." }); //if ("Modelo" != comprobar[1]) // return Json(new { res = false, msj = "El archivo no tiene el formato establecido." }); //if ("Serie" != comprobar[2]) // return Json(new { res = false, msj = "El archivo no tiene el formato establecido." }); //if ("IMEI" != comprobar[3]) // return Json(new { res = false, msj = "El archivo no tiene el formato establecido." }); //if ("MAC" != comprobar[4]) // return Json(new { res = false, msj = "El archivo no tiene el formato establecido." }); //if ("Cantidad" != comprobar[5]) // return Json(new { res = false, msj = "El archivo no tiene el formato establecido." }); var resultado = (from row_ in book.Worksheet(0) let item = new DocumentoRecepcionDetalleModel { codigo = row_[0].Value.ToString(), modelo = row_[1].Value.ToString(), serie = row_[2].Value.ToString(), imei = row_[3].Value.ToString(), mac = row_[4].Value.ToString(), _cantidad_aux = row_[5].Value.ToString(), ubicacion = row_[6].Value.ToString(), caja = row_[7].Value.ToString(), pallet = row_[8].Value.ToString(), // Monto = row_[3].Cast<decimal>() } select item).ToList(); List <DocumentoRecepcionDetalleModel> auxlist = new List <DocumentoRecepcionDetalleModel>(); int max = resultado.Count; int i = 1; while (max > i) { resultado[i].cantidad = Convert.ToInt32(resultado[i]._cantidad_aux); auxlist.Add(resultado[i]); i++; } Session["DocumentoRecepcion"] = auxlist; #region comprobar requisitos de la carga ProductoModel modProducto = null; String Productos = null; List <DocumentoRecepcionDetalleModel> det; foreach (var item in auxlist) { Productos = Productos + "," + item.codigo; } var resp = new ProductoData().listarProductoxId(Productos); foreach (var item in auxlist) { modProducto = resp.Where(x => x.codigoproducto.Equals(item.codigo)).SingleOrDefault(); if (modProducto == null) { return(Json(new { res = false, msj = "El producto: " + item.codigo + " no existe en la base de datos." })); } item.idproducto = modProducto.idproducto.Value; item.idtipoproducto = modProducto.idtipoproducto.Value; item.repuesto = modProducto.repuesto.Value; item.idmodelo = modProducto.idmodelo.Value; switch (modProducto.idrequisitoascanear) { case (Int32)Constantes.Scanear.Imei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } break; case (Int32)Constantes.Scanear.Mac: if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; case (Int32)Constantes.Scanear.Serie: if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImeiMac: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; default: break; } } Session["DocumentoRecepcion"] = auxlist; foreach (var item in resp) { switch (item.idrequisitoascanear) { case (Int16)Constantes.Scaneo.IMEI: foreach (var item1 in auxlist.Where(x => x.codigo == item.codigoproducto).ToList()) { det = auxlist .Where(x => x.codigo == item.codigoproducto) .Where(x => x.imei.Equals(item1.imei)).ToList(); if (det.Count > 1) { return(Json(new { res = false, msj = "El producto: " + item1.imei + " se está registrando más de una vez." })); } } break; case (Int16)Constantes.Scaneo.SerieIMEI: foreach (var item1 in auxlist.Where(x => x.codigo == item.codigoproducto).ToList()) { det = auxlist .Where(x => x.codigo == item.codigoproducto) .Where(x => x.serie.Equals(item1.serie) && x.imei.Equals(item1.imei)).ToList(); if (det.Count > 1) { return(Json(new { res = false, msj = "El producto: " + item1.codigo + " se está registrando más de una vez." })); } } break; case (Int16)Constantes.Scaneo.Serie: foreach (var item1 in auxlist.Where(x => x.codigo == item.codigoproducto).ToList()) { det = auxlist .Where(x => x.codigo == item.codigoproducto) .Where(x => x.serie.Equals(item1.serie)).ToList(); if (det.Count > 1) { return(Json(new { res = false, msj = "El producto: " + item1.codigo + " se está registrando más de una vez." })); } } break; default: break; } } #endregion } catch (Exception ex) { return(Json(new { res = false, msj = "Existen datos en la columna cantidad que no son números enteros" })); //throw; } //var idarchivo = new DataAccess.Liquidacion.LiquidacionData().InsertarArchivo(mod_archivo); return(Json(new { res = true, archivo = "Nombre del archivo: " + archivo.FileName, msj = "Se cargó el archivo correctamente" }, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(new { res = false, msj = "Ocurrió un error al momento de cargar el archivo." })); } //return Json(new { res = true }); }
public JsonResult guardarIngreso(DocumentoRecepcionModel model) { var detalle = (List <DocumentoRecepcionDetalleModel>)Session["DocumentoRecepcion"]; if (detalle == null) { return(Json(new { res = false, msj = "Debe cargar un excel." })); } DocumentoRecepcionDetalleModel modelDetalle = null; modelDetalle = new DocumentoRecepcionDetalleModel(); List <DocumentoRecepcionDetalleModel> detalles = new List <DocumentoRecepcionDetalleModel>(); model.fechahoraregistro = DateTime.Now; model.activo = true; model.idtiporecibo = (Int16)Constantes.TipoRecibo.NuevaRecepcion; model.idusuarioregistro = Usuario.Idusuario; model.fechahorarecepcion = DateTime.Now; model.iddocumentorecepcion = new RecepcionData().insertarActualizarDocumentoRecepcion(model); List <InventarioModel> inventarios = new List <InventarioModel>(); InventarioModel inventarioModel = null; // new InventarioModel(); foreach (var item in detalle) { inventarioModel = new InventarioModel(); inventarioModel.cantidad = item.cantidad; inventarioModel.codigoproducto = item.codigo; inventarioModel.fechahoraregistro = DateTime.Now; inventarioModel.idalmacen = model.idalmacen; inventarioModel.idestado = (Int16)Constantes.Producto.Disponible; inventarioModel.serie = item.serie; inventarioModel.imei = item.imei; inventarioModel.mac = item.mac; inventarioModel.pallet = item.pallet; inventarioModel.caja = item.caja; inventarioModel.ubicacion = item.ubicacion; //inventarioModel. inventarioModel.idusuarioregistro = Usuario.Idusuario; //int? idproducto = new ProductoData().obtenerProducto(null, item.codigo).idproducto; //if(idproducto!=null) inventarioModel.idproducto = item.idproducto; inventarioModel.__idoperacion = 1; new InventarioData().InsertarActualizarInventario(inventarioModel); modelDetalle = new DocumentoRecepcionDetalleModel(); modelDetalle.caja = item.caja; modelDetalle.cantidad = item.cantidad; modelDetalle.codigo = item.codigo; modelDetalle.fabricante = ""; modelDetalle.fechahorapersonalizacion = DateTime.Now; modelDetalle.fila = item.fila; modelDetalle.iddocumentorecepcion = model.iddocumentorecepcion.Value; modelDetalle.idfila = item.idfila; modelDetalle.idmodelo = item.idmodelo; modelDetalle.idproducto = inventarioModel.idproducto; modelDetalle.idusuariopersonalizacion = Usuario.Idusuario; modelDetalle.numeropallet = item.pallet; //modelDetalle.repuesto = false; modelDetalle.serie = item.serie; modelDetalle.mac = item.mac; modelDetalle.pallet = item.pallet; modelDetalle.ubicacion = item.ubicacion; modelDetalle.imei = item.imei; modelDetalle.idtipoproducto = item.idtipoproducto; modelDetalle.idalmacen = model.idalmacen; modelDetalle.repuesto = item.repuesto; detalles.Add(modelDetalle); //new RecepcionData().insertarActualizarDocumentoRecepcionDetalle(modelDetalle); } RecepcionData.InsertarDocumentoRecepcionDetalleLote(detalles); return(Json(new { res = true })); }
public JsonResult guardarIngresoosr(DocumentoRecepcionModel model) { var detalle = (List <DocumentoRecepcionDetalleModel>)Session["DocumentoRecepcion"]; #region comprobar requisitos de la carga var modProducto = new ProductoData().obtenerProducto(model.idproducto); foreach (var item in detalle) { switch (modProducto.idrequisitoascanear) { case (Int32)Constantes.Scanear.Imei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } break; case (Int32)Constantes.Scanear.Mac: if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; case (Int32)Constantes.Scanear.Serie: if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImeiMac: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; default: break; } } #endregion var dataIncidencia = new IncidenciaData(); List <InventarioModel> inventarios = new List <InventarioModel>(); InventarioModel inventarioModel = null; // new InventarioModel(); DocumentoRecepcionDetalleModel modelDetalle = null; OrdenServicioModel ordenModel = new OrdenServicioModel(); if (detalle == null) { return(Json(new { res = false, msj = "No existen datos cargados en el sistema." })); } model.fechahoraregistro = DateTime.Now; model.activo = true; model.idtiporecibo = (Int16)Constantes.TipoRecibo.Reparacion; model.idusuarioregistro = Usuario.Idusuario; model.iddocumentorecepcion = new RecepcionData().insertarActualizarDocumentoRecepcion(model); foreach (var item in detalle) { //traer documento de compra var detfact = FacturacionData.GetListarDetalleComprobante(null, item.serie).ToList(); bool cliente = false; bool reparacion = false; var garantias = dataIncidencia.ListarEvaluarGarantia(modProducto.idtipoproducto.Value , modProducto.idfabricante.Value , model.idpartner ).ToList(); if (detfact.Count > 0) { cliente = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , detfact[0].fechaemision , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Cliente)).SingleOrDefault()); reparacion = AgendamientoData.EvaluarGarantia(DateTime.Now.Date , detfact[0].fechaemision , garantias.Where(x => x.idtipogarantia.Equals((Int16)Constantes.TipoGarantia.Reparacion)).SingleOrDefault()); } inventarioModel = new InventarioModel(); inventarioModel.cantidad = item.cantidad; inventarioModel.codigoproducto = item.codigo; inventarioModel.fechahoraregistro = DateTime.Now; inventarioModel.idalmacen = model.idalmacen; inventarioModel.idestado = (Int16)Constantes.Producto.PendienteReparar; inventarioModel.serie = item.serie; inventarioModel.imei = item.imei; inventarioModel.mac = item.mac; inventarioModel.pallet = item.pallet; inventarioModel.idusuarioregistro = Usuario.Idusuario; inventarioModel.__idoperacion = 1; inventarioModel.idproducto = model.idproducto; inventarioModel.iddocumentorecepcion = model.iddocumentorecepcion.Value; inventarioModel.idinventario = new InventarioData().InsertarActualizarInventario(inventarioModel); ordenModel = new OrdenServicioModel(); ordenModel.activo = true; ordenModel.anioincindecia = DateTime.Now.Year; ordenModel.bounce = "0"; ordenModel.idproducto = model.idproducto; ordenModel.codigoproducto = modProducto.codigoproducto; ordenModel.idusuario = Usuario.Idusuario; ordenModel.cotizado = false; ordenModel.documento_coincide = false; ordenModel.engarantia = cliente; ordenModel.idtipogarantia = (Int16)Constantes.TipoGarantia.Cliente; ordenModel.fechahoraregistro = DateTime.Now; if (detfact.Count != 0) { ordenModel.fechadocumento = detfact[0].fechaemision; } ordenModel.fecharecepcion = model.fechahorarecepcion; ordenModel.idestado = (Int16)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico; ordenModel.idtipoordenservicio = (Int16)Constantes.tipoordenservicio.osr; ordenModel.__tipooperacion = 1; ordenModel.idcliente = model.idcliente; ordenModel.idpartner = model.idpartner; ordenModel.serie = item.serie; ordenModel.imei = item.imei; ordenModel.mac = item.mac; ordenModel.iddocumentorecepcion = model.iddocumentorecepcion.Value; ordenModel.idinventario = inventarioModel.idinventario.Value; ordenModel = new OrdenServicioData().InsertarActualizarOrdenServicio(ordenModel); modelDetalle = new DocumentoRecepcionDetalleModel(); inventarioModel.idproducto = model.idproducto; modelDetalle.caja = ""; modelDetalle.cantidad = 1; modelDetalle.codigo = item.codigo; modelDetalle.fabricante = ""; modelDetalle.fechahorapersonalizacion = DateTime.Now; modelDetalle.fila = item.fila; modelDetalle.iddocumentorecepcion = model.iddocumentorecepcion.Value; modelDetalle.idfila = item.idfila; modelDetalle.idmodelo = item.idmodelo; modelDetalle.idproducto = inventarioModel.idproducto; modelDetalle.idusuariopersonalizacion = Usuario.Idusuario; modelDetalle.numeropallet = item.pallet; modelDetalle.repuesto = false; modelDetalle.serie = item.serie; modelDetalle.mac = item.mac; new RecepcionData().insertarActualizarDocumentoRecepcionDetalle(modelDetalle); } return(Json(new { res = true })); }
public JsonResult SubirArchivo(HttpPostedFileBase archivo, DocumentoRecepcionModel model) { string RutaArchivos = ConfigurationManager.AppSettings["Uploads"].ToString(); string Carpeta = "File_" + Usuario.Idusuario.ToString(); string Rutagrabar = RutaArchivos + Carpeta + "\\"; string file = string.Empty; string archivo_subir = (DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + archivo.FileName).ToLower(); archivo_subir = archivo_subir.Replace(" ", "_").ToString(); var mod_archivo = new DocumentoRecepcionModel(); var allowedExtensions = new[] { ".xlsx", ".xls" }; var checkextension = Path.GetExtension(archivo.FileName).ToLower(); if (!allowedExtensions.Contains(checkextension)) { return(Json(new { res = false, msj = "No se puede subir archivos con la extensión: " + checkextension }, JsonRequestBehavior.AllowGet)); } else { file = Rutagrabar + archivo_subir; } try { if (Directory.Exists(Rutagrabar)) { archivo.SaveAs(file); } else { Directory.CreateDirectory(Rutagrabar); archivo.SaveAs(file); } //validar archivo... // const Int32 BufferSize = 128; //var line = string.Empty; try { var book = new ExcelQueryFactory(file); var headers = book.GetColumnNames("Carga01"); var comprobar = headers.ToList(); if ("ITEM" != comprobar[0]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("S/N" != comprobar[1]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("IMEI" != comprobar[2]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("MAC" != comprobar[3]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("PRODUCTO" != comprobar[4]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("PALLET" != comprobar[5]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("FECHA DE INGRESO" != comprobar[6]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } if ("FABRICANTE" != comprobar[7]) { return(Json(new { res = false, msj = "El archivo no tiene el formato establecido." })); } var resultado = (from row_ in book.Worksheet(0) let item = new DocumentoRecepcionDetalleModel { item = row_[0].Cast <Int16>(), serie = row_[1].Cast <string>(), imei = row_[2].Cast <string>(), mac = row_[3].Cast <string>(), codigo = row_[4].Cast <string>(), pallet = row_[5].Cast <string>(), fabricante = row_[7].Cast <string>(), cantidad = 1, } select item).ToList(); Session["DocumentoRecepcion"] = resultado; } catch (Exception ex) { return(Json(new { res = false, msj = ex.ToString() /*"Existen datos en la columna cantidad que no son números enteros"*/ })); //throw; } //var idarchivo = new DataAccess.Liquidacion.LiquidacionData().InsertarArchivo(mod_archivo); return(Json(new { res = true, archivo = "Nombre del archivo: " + archivo.FileName, msj = "Se cargó el archivo correctamente" }, JsonRequestBehavior.AllowGet)); } catch (Exception) { return(Json(new { res = false, msj = "Ocurrió un error al momento de cargar el archivo." })); } //return Json(new { res = true }); }
public JsonResult guardarIngreso(DocumentoRecepcionModel model) { var detalle = (List <DocumentoRecepcionDetalleModel>)Session["DocumentoRecepcion"]; if (detalle == null) { return(Json(new { res = false, msj = "Debe de cargar un excel al sistema" })); } #region comprobar requisitos de la carga var modProducto = new ProductoData().obtenerProducto(model.idproducto); foreach (var item in detalle) { switch (modProducto.idrequisitoascanear) { case (Int32)Constantes.Scanear.Imei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } break; case (Int32)Constantes.Scanear.Mac: if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; case (Int32)Constantes.Scanear.Serie: if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImei: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } break; case (Int32)Constantes.Scanear.SerieImeiMac: if (string.IsNullOrEmpty(item.imei)) { return(Json(new { res = false, msj = "La carga requiere del número de IMEI" })); } if (string.IsNullOrEmpty(item.serie)) { return(Json(new { res = false, msj = "La carga requiere del número de Serie" })); } if (string.IsNullOrEmpty(item.mac)) { return(Json(new { res = false, msj = "La carga requiere del número de MAC" })); } break; default: break; } } #endregion List <InventarioModel> inventarios = new List <InventarioModel>(); InventarioModel inventarioModel = null; // new InventarioModel(); DocumentoRecepcionDetalleModel modelDetalle = null; OrdenServicioModel ordenModel = new OrdenServicioModel(); List <DocumentoRecepcionDetalleModel> detalles = new List <DocumentoRecepcionDetalleModel>(); ordenModel.activo = true; ordenModel.anioincindecia = DateTime.Now.Year; ordenModel.bounce = "0"; ordenModel.idproducto = model.idproducto; ordenModel.codigoproducto = "Varios"; ordenModel.idusuario = Usuario.Idusuario; ordenModel.cotizado = false; ordenModel.documento_coincide = false; ordenModel.engarantia = true; ordenModel.fechahoraregistro = DateTime.Now; ordenModel.idestado = (Int16)Constantes.EstadoOrdenServicio.PendienteAsignacionTecnico; ordenModel.idtipoordenservicio = (Int16)Constantes.tipoordenservicio.osp; ordenModel.idsucursalorigen = Usuario.idsucursal; ordenModel.__tipooperacion = 1; ordenModel.delivery = true; ordenModel = new OrdenServicioData().InsertarActualizarOrdenServicio(ordenModel); model.fechahoraregistro = DateTime.Now; model.activo = true; model.idtiporecibo = (Int16)Constantes.TipoRecibo.Personalizacion; model.idusuarioregistro = Usuario.Idusuario; model.idordenservicio = ordenModel.idordenserviciotecnico.Value; model.idproducto = model.idproducto; model.iddocumentorecepcion = new RecepcionData().insertarActualizarDocumentoRecepcion(model); foreach (var item in detalle) { inventarioModel = new InventarioModel(); modelDetalle = new DocumentoRecepcionDetalleModel(); inventarioModel.idproducto = model.idproducto; modelDetalle.caja = ""; modelDetalle.cantidad = 1; modelDetalle.codigo = item.codigo; modelDetalle.fabricante = ""; modelDetalle.fechahorapersonalizacion = DateTime.Now; modelDetalle.fila = item.fila; modelDetalle.iddocumentorecepcion = model.iddocumentorecepcion.Value; modelDetalle.idfila = item.idfila; modelDetalle.idmodelo = item.idmodelo; modelDetalle.idproducto = inventarioModel.idproducto; modelDetalle.idusuariopersonalizacion = Usuario.Idusuario; modelDetalle.numeropallet = item.pallet; modelDetalle.repuesto = false; modelDetalle.serie = item.serie; detalles.Add(modelDetalle); inventarioModel.cantidad = item.cantidad; inventarioModel.codigoproducto = item.codigo; inventarioModel.fechahoraregistro = DateTime.Now; inventarioModel.idalmacen = model.idalmacen; inventarioModel.idestado = (Int16)Constantes.Producto.PendientePersonalizar; inventarioModel.serie = item.serie; inventarioModel.imei = item.imei; inventarioModel.pallet = item.pallet; inventarioModel.idusuarioregistro = Usuario.Idusuario; inventarioModel.__idoperacion = 1; inventarioModel.iddocumentorecepcion = model.iddocumentorecepcion.Value; new InventarioData().InsertarActualizarInventario(inventarioModel); } RecepcionData.InsertarDocumentoRecepcionDetalleLote(detalles); return(Json(new { res = true })); }