public async Task <ResultObject> DeleteUnit(M_Unit unit) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = unit }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", unit.Id), new MySqlParameter("strDelete_By", unit.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_unit_delete( ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <IActionResult> Edit([Bind("UnitCode,UnitName,UnitDesc,Id,Is_Active,Created_Date,Created_By,Updated_Date,Updated_By")] M_Unit m_Unit) { if (ModelState.IsValid) { m_Unit.Updated_By = await base.CurrentUserId(); ResultObject resultObj; try { using (var unitBll = new UnitBLL()) { resultObj = await unitBll.UpdateUnit(m_Unit); _cache.Remove("CACHE_MASTER_UNIT"); } return(Json(new { success = true, data = (M_Unit)resultObj.ObjectValue, message = "Unit Update." })); } catch (Exception ex) { return(Json(new { success = false, data = m_Unit, message = ex.Message })); } } var err = ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage).ToList(); return(Json(new { success = false, errors = err, data = m_Unit, message = "Update Failed" })); }
internal MasterTableUnit() { KILO = new M_Unit { Name = "Kilo" }; LITER = new M_Unit { Name = "Liter" }; PIECES = new M_Unit { Name = "Pieces" }; }
private static long GeneratePartsForEachLevel(ProductStructureInput inputParameters, ProductStructure productStructure, List <HashSet <long> > availableNodes, MasterTableArticleType articleTypes, MasterTableUnit units, M_Unit[] unitCol, XRandom rng, int i, bool sampleWorkPlanLength, TruncatedDiscreteNormal truncatedDiscreteNormalDistribution) { //Problem mit Algorithmus aus SYMTEP: bei ungünstigen Eingabeparametern gibt es auf manchen Fertigungsstufen keine Teile (0 Knoten) //-> Es fehlt wohl Nebenbedingung, dass Anzahl an Teilen auf jeden Fertigungsstufe mindestens 1 sein darf //-> Entsprechend wurde das hier angepasst var nodeCount = Math.Max(1, Convert.ToInt64(Math.Round( Math.Pow(inputParameters.ComplexityRatio / inputParameters.ReutilisationRatio, i - 1) * inputParameters.EndProductCount))); var nodesCurrentLevel = new Dictionary <long, Node>(); productStructure.NodesPerLevel.Add(nodesCurrentLevel); var availableNodesOnThisLevel = new HashSet <long>(); availableNodes.Add(availableNodesOnThisLevel); bool toPurchase, toBuild; M_Unit unit = null; M_ArticleType articleType; if (i == 1) { toPurchase = false; toBuild = true; unit = units.PIECES; articleType = articleTypes.PRODUCT; } else if (i == inputParameters.DepthOfAssembly) { toPurchase = true; toBuild = false; articleType = articleTypes.MATERIAL; } else { toPurchase = false; toBuild = true; unit = units.PIECES; articleType = articleTypes.ASSEMBLY; } for (long j = 0; j < nodeCount; j++) { unit = GeneratePartsForCurrentLevel(inputParameters, unitCol, rng, i, sampleWorkPlanLength, truncatedDiscreteNormalDistribution, availableNodesOnThisLevel, j, unit, articleType, toPurchase, toBuild, nodesCurrentLevel); } return(nodeCount); }
internal M_Unit[] Init(MasterDBContext context) { // Units var units = new M_Unit[] { KILO, LITER, PIECES }; context.Units.AddRange(entities: units); context.SaveChanges(); return(units); }
/// <summary> /// /// </summary> /// <returns></returns> private static M_Unit[] CreateUnits() { var units = new M_Unit[] { new M_Unit { Name = "Kilo" }, new M_Unit { Name = "Litre" }, new M_Unit { Name = "Pieces" } }; return(units); }
public static bool Update(UnitViewModel entity) { bool result = true; try { using (var db = new MarComContext()) { if (entity.Id == 0) { M_Unit unit = new M_Unit(); unit.Code = entity.Code; unit.Name = entity.Name; unit.Description = entity.Description; unit.Is_Delete = entity.Is_Delete; unit.Create_By = "Admin"; unit.Create_Date = DateTime.Now; db.M_Unit.Add(unit); db.SaveChanges(); } else { M_Unit unit = db.M_Unit.Where(u => u.Id == entity.Id).FirstOrDefault(); if (unit != null) { unit.Code = entity.Code; unit.Name = entity.Name; unit.Description = entity.Description; unit.Update_By = "Admin"; unit.Update_Date = DateTime.Now; db.SaveChanges(); } } } } catch (Exception) { result = false; } return(result); }
public async Task <ResultObject> UpdateUnit(M_Unit unit) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = unit }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(unit).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", unit.Id), new MySqlParameter("strUnitCode", unit.UnitCode), new MySqlParameter("strUnitName", unit.UnitName), new MySqlParameter("strUnitDesc", unit.UnitDesc), new MySqlParameter("strIs_Active", unit.Is_Active), new MySqlParameter("strCreated_By", unit.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_unit_update(?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public static bool Delete(int id) { bool result = true; try { using (var db = new MarComContext()) { M_Unit unit = db.M_Unit.Where(u => u.Id == id).FirstOrDefault(); if (unit != null) { unit.Is_Delete = true; db.SaveChanges(); } } } catch (Exception ex) { result = false; } return(result); }
public async Task <ResultObject> InsertUnit(M_Unit unit) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = unit }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strUnitCode", unit.UnitCode), new MySqlParameter("strUnitName", unit.UnitName), new MySqlParameter("strUnitDesc", unit.UnitDesc), new MySqlParameter("strIs_Active", unit.Is_Active), new MySqlParameter("strCreated_By", unit.Created_By) }; resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_unit_insert(@`strId`, ?, ?, ?, ?, ?)", parameters : sqlParams); //new Unit after insert. var newUnit = context.Unit.FromSql("SELECT * FROM m_unit WHERE Id = @`strId`;").ToListAsync(); resultObj.ObjectValue = newUnit.Result[0]; transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public bool Update(int id, M_Unit model) { throw new NotImplementedException(); }
public bool Insert(M_Unit model) { throw new NotImplementedException(); }
public static ResultResponse Update(UnitViewModel entity) { ResultResponse result = new ResultResponse(); try { using (var db = new MarComContext()) { if (entity.Id == 0) { bool nameExists = db.M_Unit.Any(nm => nm.Name.Equals(entity.Name)); if (nameExists) { result.Success = false; result.Message = "Unit with name " + entity.Name + " already Exists!"; } else { M_Unit unit = new M_Unit(); unit.Code = entity.Code; unit.Name = entity.Name; unit.Description = entity.Description; unit.Is_Delete = entity.Is_Delete; unit.Create_By = entity.Create_By; unit.Create_Date = DateTime.Now; db.M_Unit.Add(unit); db.SaveChanges(); result.Message = "Data Saved with code " + entity.Code; } } else { M_Unit unit = db.M_Unit.Where(u => u.Id == entity.Id).FirstOrDefault(); if (unit != null) { bool nameExists = db.M_Unit.Any(nm => nm.Name.Equals(entity.Name) && nm.Code != entity.Code); if (nameExists) { result.Message = "Unit with name " + entity.Name + " already exists"; } else { unit.Code = entity.Code; unit.Name = entity.Name; unit.Description = entity.Description; unit.Update_By = entity.Update_By; unit.Update_Date = DateTime.Now; db.SaveChanges(); result.Message = "Data Update with code " + entity.Code; } } } } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
private static M_Unit GeneratePartsForCurrentLevel(ProductStructureInput inputParameters, M_Unit[] unitCol, XRandom rng, int i, bool sampleWorkPlanLength, TruncatedDiscreteNormal truncatedDiscreteNormalDistribution, HashSet <long> availableNodesOnThisLevel, long j, M_Unit unit, M_ArticleType articleType, bool toPurchase, bool toBuild, Dictionary <long, Node> nodesCurrentLevel) { availableNodesOnThisLevel.Add(j); if (i == inputParameters.DepthOfAssembly) { var pos = rng.Next(unitCol.Length); unit = unitCol[pos]; } var node = new Node { AssemblyLevel = i, Article = new M_Article { Name = "Material " + i + "." + (j + 1), ArticleTypeId = articleType.Id, CreationDate = DateTime.Now, DeliveryPeriod = 5, UnitId = unit.Id, Price = 10, ToPurchase = toPurchase, ToBuild = toBuild } }; nodesCurrentLevel[j] = node; if (sampleWorkPlanLength && i != inputParameters.DepthOfAssembly) { node.WorkPlanLength = truncatedDiscreteNormalDistribution.Sample(); } return(unit); }
public ActionResult AddUnit(M_Unit model) { new DataLayer().AddUnit <M_Unit>(model); return(View()); }