public string AddMateriales(AddMatrialViewModels a) { try { using (var db = new EmpresaEntities1()) { tbMaterialesAsignados matAsig = new tbMaterialesAsignados(); tbMateriales mat = new tbMateriales(); mat.Codigo = a.Codigo; mat.Descripcion = a.Descripcion; mat.Nombre = a.Nombre; db.tbMateriales.Add(mat); db.SaveChanges(); matAsig.Fecha = DateTime.Now.Date; matAsig.Cantidad = a.Cantidad; matAsig.idMaterial = db.tbMateriales.Where(f => f.Codigo == a.Codigo).Select(f => f.id).FirstOrDefault(); db.tbMaterialesAsignados.Add(matAsig); db.SaveChanges(); return("Se adicionó un nuevo material correctamente"); } } catch (Exception) { throw; } }
public string AsinarMatrial(int codigo, int trabajador, int cantidad) { tbMaterialesAsignados g; try { using (var db = new EmpresaEntities1()) { var a = (from d in db.tbMateriales join f in db.tbMaterialesAsignados on d.id equals f.idMaterial where d.Codigo == codigo && f.idTrabajador == null select f).FirstOrDefault(); var b = from d in db.tbMateriales join f in db.tbMaterialesAsignados on d.id equals f.idMaterial where d.Codigo == codigo && f.idTrabajador == trabajador select f; if (b.Count() > 0) { g = b.FirstOrDefault(); g.Cantidad += cantidad; } else { g = new tbMaterialesAsignados(); g.Cantidad = cantidad; g.Fecha = DateTime.Now.Date; g.idMaterial = a.idMaterial; g.idTrabajador = trabajador; db.tbMaterialesAsignados.Add(g); } a.Cantidad -= cantidad; a.Fecha = DateTime.Now.Date; db.Entry(a).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } return("Se asignó material correctamente"); } catch (Exception) { return("Problemas al asignar material"); throw; } }