public async Task <IActionResult> Edit([Bind("ProdTypeCode,ProdTypeName,ProdTypeDesc,ProdTypeSeq,CompanyCode,Id,Is_Active,Created_Date,Created_By,Updated_Date,Updated_By")] M_ProductionType m_ProductionType) { if (ModelState.IsValid) { m_ProductionType.Updated_By = await base.CurrentUserId(); ResultObject resultObj; try { using (var prodTypeBll = new ProductionTypeBLL()) { resultObj = await prodTypeBll.UpdateProductionType(m_ProductionType); _cache.Remove("CACHE_MASTER_PRODUCTIONTYPE"); } return(Json(new { success = true, data = (M_ProductionType)resultObj.ObjectValue, message = "Production Type Update." })); } catch (Exception ex) { return(Json(new { success = false, data = m_ProductionType, 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_ProductionType, message = "Update Failed" })); }
public async Task <ResultObject> DeleteProductionType(M_ProductionType prodType) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = prodType }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", prodType.Id), new MySqlParameter("strDelete_By", prodType.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_productiontype_delete( ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <ResultObject> UpdateProductionType(M_ProductionType prodType) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = prodType }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { context.Entry(prodType).State = EntityState.Modified; MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strId", prodType.Id), new MySqlParameter("strProdTypeCode", prodType.ProdTypeCode), new MySqlParameter("strProdTypeName", prodType.ProdTypeName), new MySqlParameter("strProdTypeDesc", prodType.ProdTypeDesc), new MySqlParameter("strProdTypeSeq", prodType.ProdTypeSeq), new MySqlParameter("strCompanyCode", prodType.CompanyCode), new MySqlParameter("strIs_Active", prodType.Is_Active), new MySqlParameter("strCreated_By", prodType.Updated_By) }; //Output Parameter no need to define. @`strId` resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_productiontype_update(?, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }
public async Task <ResultObject> InsertProductionType(M_ProductionType prodType) { var resultObj = new ResultObject { RowAffected = -1, ObjectValue = prodType }; using (var context = new MasterDbContext(contextOptions)) { using (var transaction = context.Database.BeginTransaction()) { try { MySqlParameter[] sqlParams = new MySqlParameter[] { new MySqlParameter("strProdTypeCode", prodType.ProdTypeCode), new MySqlParameter("strProdTypeName", prodType.ProdTypeName), new MySqlParameter("strProdTypeDesc", prodType.ProdTypeDesc), new MySqlParameter("strProdTypeSeq", prodType.ProdTypeSeq), new MySqlParameter("strCompanyCode", prodType.CompanyCode), new MySqlParameter("strIs_Active", prodType.Is_Active), new MySqlParameter("strCreated_By", prodType.Created_By) }; resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_productiontype_insert(@`strId`, ?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams); //new department after insert. var newProdType = context.ProductionType.FromSql("SELECT * FROM m_productiontype WHERE Id = @`strId`;").ToListAsync(); resultObj.ObjectValue = newProdType.Result[0]; transaction.Commit(); return(resultObj); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } }