public JsonResult guardar_recibo_inventario(string id, string item, string po, string style, string mill, string po_r, string locacion, string country, string customer, string caja, string cantidad, string packing_number) { //SEPARAR INFORMACIÓN //Session["id_usuario"] = 2; string[] ids = id.Split('*'), items = item.Split('*'), pos = po.Split('*'), styles = style.Split('*'), locaciones = locacion.Split('*'); string[] countries = country.Split('*'), customers = customer.Split('*'), cajas_item = caja.Split('*'), cantidades_item = cantidad.Split('*'); string qty_item = "", ids_inventario = "", trims_inventario = "", trims_cantidades = "", trims_item = "", ids_summary = ""; int existencia = 0, summary = 0; //POR CADA ITEM int total_item = 0, total_recibo = 0; for (int i = 1; i < ids.Length; i++) { di.id_tipo = consultas.buscar_tipo_inventario_item(ids[i]); di.mill_po = mill; di.po_referencia = po_r; summary = 0; switch (di.id_tipo) { case 2: //int id_usuario, string estilo, string tipo, string po, string mill_po, string amt, string unit, string company, string cantidad, string descripcion_trim, string familia, string minimo,string referencia consultas.buscar_informacion_trim_item(ids[i]); total_item = obtener_cantidad_item(cajas_item[i], cantidades_item[i]); qty_item += "*" + total_item.ToString(); total_recibo += total_item; di.cantidad = total_item; di.obtener_datos_trim(Convert.ToInt32(ids[i]), Convert.ToInt32(Session["id_usuario"]), styles[i], "Trims", pos[i], consultas.unit, customers[i], total_item.ToString(), consultas.descripcion, consultas.family, "0"); existencia = di.buscar_existencia_trim_inventario(); summary = consultas.obtener_po_summary(di.id_pedido, di.id_estilo); ids_summary += "*" + summary.ToString(); if (existencia == 0) { di.guardar_trim_po(); di.id_inventario = di.obtener_ultimo_inventario(); ids_inventario += "*" + di.id_inventario.ToString(); } else { di.sumar_existencia_trim(existencia); ids_inventario += "*" + existencia.ToString(); } trims_inventario += "*" + consultas.obtener_po_summary(di.id_pedido, di.id_estilo); trims_cantidades += "*" + total_item.ToString(); trims_item += "*" + ids[i]; break; case 1: consultas.buscar_informacion_blank_item(ids[i]); int customer_final = consultas.buscar_cliente_final_po(pos[i]); di.obtener_datos_blank(Convert.ToInt32(ids[i]), Convert.ToInt32(Session["id_usuario"]), styles[i], "Blanks", pos[i], countries[i], consultas.fabricante, consultas.color, consultas.body_type, consultas.size, consultas.gender, consultas.fabric_type, consultas.fabric_percent, customers[i], locaciones[i], customer_final, "N/A", "N/A", "N/A", cajas_item[i], cantidades_item[i]); qty_item += "*" + di.quantity.ToString(); total_recibo += di.quantity; existencia = di.buscar_existencia_blank_inventario(); summary = consultas.obtener_po_summary(di.id_pedido, di.id_estilo); ids_summary += "*" + summary.ToString(); if (existencia == 0) { di.guardar_blank(); di.id_inventario = di.obtener_ultimo_inventario(); ids_inventario += "*" + di.id_inventario.ToString(); } else { di.sumar_existencia_blank(existencia); ids_inventario += "*" + existencia.ToString(); } break; } //switch } //FOR di.guardar_recibo(total_recibo, 0, mill, po_r, packing_number); di.id_recibo = di.obtener_ultimo_recibo(); GenerateMyQCCode("recibo_" + di.id_recibo.ToString()); string[] trimsInventario = trims_inventario.Split('*'), trimsCantidad = trims_cantidades.Split('*'), trimsItem = trims_item.Split('*'); //REVISAR TRIMS /*for (int tr = 1; tr < trimsInventario.Length; tr++){ * di.buscar_item_trim_request(Convert.ToInt32(trimsInventario[tr]), Convert.ToInt32(trimsCantidad[tr]), Convert.ToInt32(trimsItem[tr]), di.id_recibo); * }*/ //TRIMS string[] inventarios = ids_inventario.Split('*'), totales_items = qty_item.Split('*'), summarys = ids_summary.Split('*'); for (int j = 1; j < inventarios.Length; j++) { di.guardar_recibo_item(di.id_recibo, inventarios[j], totales_items[j], summarys[j]); di.id_recibo_item = di.obtener_ultimo_recibo_item(); string[] cajas = cajas_item[j].Split('&'), cantidades = cantidades_item[j].Split('&'); for (int k = 1; k < cajas.Length; k++) { for (int h = 0; h < Convert.ToInt32(cajas[k]); h++) { di.guardar_caja(di.id_recibo_item, inventarios[j], cantidades[k], cantidades[k]); di.id_caja = di.obtener_id_ultima_caja(); GenerateMyQCCode("caja_" + Convert.ToString(di.id_caja)); } } } Session["id_recibo_nuevo"] = di.id_recibo; return(Json("0", JsonRequestBehavior.AllowGet)); }