public async Task <IActionResult> ApiPostInvConteos_Item([FromBody] zt_inventarios_conteos conteo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var buscarConteo = (from cont in LoDBContext.zt_inventarios_conteos where cont.IdInventario == conteo.IdInventario && cont.IdSKU == conteo.IdSKU && cont.IdAlmacen == conteo.IdAlmacen && cont.IdUbicacion == conteo.IdUbicacion && cont.IdUnidadMedida == conteo.IdUnidadMedida select cont.NumConteo).ToList(); var nc = buscarConteo.Count; conteo.NumConteo = nc + 1; LoDBContext.zt_inventarios_conteos.Add(conteo); await LoDBContext.SaveChangesAsync(); double totalPZA = 0; var resultadoConteo = (from cont in LoDBContext.zt_inventarios_conteos where cont.IdInventario == conteo.IdInventario && cont.IdSKU == conteo.IdSKU select cont).GroupBy(p => new { p.IdInventario, p.IdSKU, p.IdAlmacen, p.IdUbicacion, p.IdUnidadMedida }) .Select(g => g.LastOrDefault()); foreach (var element in resultadoConteo) { totalPZA = totalPZA + (double)element.CantidadPZA; } var objAcumulado = await LoDBContext.zt_inventarios_acumulados.FirstOrDefaultAsync(c => c.IdInventario == conteo.IdInventario && c.IdSKU == conteo.IdSKU); if (objAcumulado == null) { return(NotFound()); } objAcumulado.CantidadFisica = totalPZA; objAcumulado.Diferencia = objAcumulado.CantidadTeorica - objAcumulado.CantidadFisica; LoDBContext.zt_inventarios_acumulados.Update(objAcumulado); await LoDBContext.SaveChangesAsync(); return(CreatedAtAction("Reg acumulado:", new { objAcumulado })); }
private bool MakeStringFilter(zt_inventarios_conteos o, string option, string condition) { var value = o.GetType().GetProperty(option); var exactValue = value.GetValue(o, null); exactValue = exactValue.ToString().ToLower(); string text = FilterText.ToLower(); var methods = typeof(string).GetMethods(); if (methods.Count() != 0) { if (condition == "Contains") { var methodInfo = methods.FirstOrDefault(method => method.Name == condition); bool result1 = (bool)methodInfo.Invoke(exactValue, new object[] { text }); return(result1); } else if (exactValue.ToString() == text.ToString()) { bool result1 = String.Equals(exactValue.ToString(), text.ToString()); if (condition == "Equals") { return(result1); } else if (condition == "NotEquals") { return(false); } } else if (condition == "NotEquals") { return(true); } return(false); } else { return(false); } }
private async Task <int> FicExitConteo(zt_inventarios_conteos zt_inventarios_conteos) { var bus = await(from conteo in FicLoBDContext.zt_inventarios_conteos join inv in FicLoBDContext.zt_inventarios on conteo.IdInventario equals inv.IdInventario join pro in FicLoBDContext.zt_cat_productos on conteo.IdSKU equals pro.IdSKU join alm in FicLoBDContext.zt_cat_almacenes on conteo.IdAlmacen equals alm.IdAlmacen join unm in FicLoBDContext.zt_cat_unidad_medidas on conteo.IdUnidadMedida equals unm.IdUnidadMedida where pro.IdSKU == zt_inventarios_conteos.IdSKU && alm.IdAlmacen == zt_inventarios_conteos.IdAlmacen && unm.IdUnidadMedida == zt_inventarios_conteos.IdUnidadMedida && conteo.IdUbicacion == zt_inventarios_conteos.IdUbicacion && inv.IdInventario == zt_inventarios_conteos.IdInventario //&& conteo.NumConteo == zt_inventarios_conteos.NumConteo select conteo).AsNoTracking().ToListAsync(); if (bus != null && bus.Count != 0) { List <int> temp = new List <int>(); foreach (zt_inventarios_conteos a in bus) { temp.Add(a.NumConteo); } return(temp.Max() + 1); } return(1); }//BUSCA SI EXISTE UN REGISTRO
public async Task <string> Insert_zt_inventarios_conteos(zt_inventarios_conteos zt_inventarios_conteos, bool modo) { try { zt_inventarios_conteos.CantidadPZA = await FicMetCantPza(zt_inventarios_conteos.IdSKU, zt_inventarios_conteos.IdUnidadMedida, zt_inventarios_conteos.CantidadFisica); if (modo) { zt_inventarios_conteos.NumConteo = await FicExitConteo(zt_inventarios_conteos); await FicLoBDContext.AddAsync(zt_inventarios_conteos); return(await FicLoBDContext.SaveChangesAsync() > 0 ? "OK" : "ERROR AL REGISTRAR"); } else { var FicSourceInvExits = await( from con in FicLoBDContext.zt_inventarios_conteos join inv in FicLoBDContext.zt_inventarios on con.IdInventario equals inv.IdInventario where con.IdSKU == zt_inventarios_conteos.IdSKU && con.IdAlmacen == zt_inventarios_conteos.IdAlmacen && con.IdUnidadMedida == zt_inventarios_conteos.IdUnidadMedida && con.NumConteo == zt_inventarios_conteos.NumConteo && con.IdUbicacion == zt_inventarios_conteos.IdUbicacion select con ).SingleOrDefaultAsync(); FicSourceInvExits.Lote = zt_inventarios_conteos.Lote; FicSourceInvExits.CantidadFisica = zt_inventarios_conteos.CantidadFisica; FicSourceInvExits.CantidadPZA = zt_inventarios_conteos.CantidadPZA; FicLoBDContext.Update(FicSourceInvExits); return(await FicLoBDContext.SaveChangesAsync() > 0 ? "OK" : "ERROR AL ACTUALIZAR"); } } catch (Exception ex) { return(ex.Message.ToString()); } }//INSERTAR NUEVO CONTEO
}//LIST ALL private async Task <bool> FicExitInventariosConteo(zt_inventarios_conteos zt_inventarios_conteos) { return(await(from conteo in FicLoBDContext.zt_inventarios_conteos where conteo.IdInventario == zt_inventarios_conteos.IdInventario && conteo.IdSKU == zt_inventarios_conteos.IdSKU && conteo.IdAlmacen == zt_inventarios_conteos.IdAlmacen && conteo.IdUnidadMedida == zt_inventarios_conteos.IdUnidadMedida && conteo.IdUbicacion == zt_inventarios_conteos.IdUbicacion select conteo).AsNoTracking().SingleOrDefaultAsync() == null ? true : false); }//BUSCA SI EXISTE UN REGISTRO
public async Task FicMetRemoveInventarioCont(zt_inventarios_conteos FicPaZt_inventarios_det_Remove) { await ficSQLiteConnection.DeleteAsync(FicPaZt_inventarios_det_Remove); }
public async Task <IActionResult> ApiPostInv_Conteos_post_lunes([FromQuery] int IdInventario, [FromQuery] string IdSKU, [FromQuery] string IdUnidadMedida, [FromQuery] string IdAlmacen, [FromQuery] string IdUbicacion, [FromBody] zt_inventarios_conteos con) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var resultado = ( from conteos in LoDBContext.zt_inventarios_conteos where conteos.IdInventario == IdInventario && conteos.IdSKU == IdSKU //&& //conteos.IdUnidadMedida == IdUnidadMedida && //conteos.IdAlmacen == IdAlmacen && //conteos.IdUbicacion == IdUbicacion select conteos ).ToList(); if (!resultado.Any()) { con.NumConteo = 1; LoDBContext.zt_inventarios_conteos.Add(con); await LoDBContext.SaveChangesAsync(); //cambiar var temp por un select //var temp = LoDBContext.zt_inventarios_acumulados.Find(IdInventario, IdSKU); var temp = await LoDBContext.zt_inventarios_acumulados.FirstOrDefaultAsync(a => a.IdInventario == con.IdInventario && a.IdSKU == con.IdSKU); temp.CantidadFisica += con.CantidadPZA; temp.Diferencia = temp.CantidadTeorica - temp.CantidadFisica; LoDBContext.zt_inventarios_acumulados.Update(temp); await LoDBContext.SaveChangesAsync(); } else { var ultimo = resultado.Last(); con.NumConteo = ultimo.NumConteo + 1; LoDBContext.zt_inventarios_conteos.Add(con); await LoDBContext.SaveChangesAsync(); var temp = await LoDBContext.zt_inventarios_acumulados.FirstOrDefaultAsync(a => a.IdInventario == con.IdInventario && a.IdSKU == con.IdSKU); //var temp = LoDBContext.zt_inventarios_acumulados.Find(IdInventario, IdSKU, IdUnidadMedida); temp.CantidadFisica = temp.CantidadFisica + con.CantidadPZA; temp.Diferencia = temp.CantidadTeorica - temp.CantidadFisica; LoDBContext.zt_inventarios_acumulados.Update(temp); await LoDBContext.SaveChangesAsync(); } return(CreatedAtAction("ApiGetAcumuladosConteosList", new { id = con.IdSKU })); }
public async Task <IActionResult> ApiPutAcumulados([FromQuery] int IdInventarioR, [FromQuery] string IdSKUR, [FromQuery] string IdUnidadMedidaR, [FromQuery] string IdAlmacen, [FromQuery] string IdUbicacion, [FromQuery] int NumConteo, [FromBody] zt_inventarios_conteos cont) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var temp = LoDBContext.zt_inventarios_conteos.Find(IdInventarioR, IdSKUR, IdUnidadMedidaR, IdAlmacen, IdUbicacion, NumConteo); LoDBContext.zt_inventarios_conteos.Update(cont); //LoDBContext.zt_inventarios_acumulados[IdInventarioR] = acu; //LoDBContext.zt_inventarios_acumulados.Add(acu); await LoDBContext.SaveChangesAsync(); return(CreatedAtAction("ApiGetAcumuladosConteosList", new { id = cont.IdSKU })); }
}//Fin insert public async Task Remove_zt_inventarios_conteos(zt_inventarios_conteos zt_inventarios_conteos) { await ficSQLiteConnection.DeleteAsync(zt_inventarios_conteos); }//Fin remove