Пример #1
0
        public async Task <ResultObject> DeleteMaterialType(M_MaterialType matType)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = matType
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strId", matType.Id),
                            new MySqlParameter("strDelete_By", matType.Updated_By)
                        };


                        //Output Parameter no need to define. @`strId`
                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_materialtype_delete( ?, ?)", parameters : sqlParams);

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Пример #2
0
        public async Task <IActionResult> Edit([Bind("MatTypeCode,MatTypeName,MatTypeDesc,CompanyCode,Id,Is_Active,Created_Date,Created_By,Updated_Date,Updated_By")] M_MaterialType m_MaterialType)
        {
            if (ModelState.IsValid)
            {
                m_MaterialType.Updated_By = await base.CurrentUserId();

                ResultObject resultObj;

                try
                {
                    using (var matTypeBll = new MaterialTypeBLL())
                    {
                        resultObj = await matTypeBll.UpdateMaterialType(m_MaterialType);

                        _cache.Remove("CACHE_MASTER_MATERIALTYPE");
                    }

                    return(Json(new { success = true, data = (M_MaterialType)resultObj.ObjectValue, message = "Material Type Update." }));
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, data = m_MaterialType, 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_MaterialType, message = "Update Failed" }));
        }
Пример #3
0
        public async Task <ResultObject> UpdateMaterialType(M_MaterialType matType)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = matType
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        context.Entry(matType).State = EntityState.Modified;

                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strId", matType.Id),
                            new MySqlParameter("strMatTypeCode", matType.MatTypeCode),
                            new MySqlParameter("strMatTypeName", matType.MatTypeName),
                            new MySqlParameter("strMatTypeDesc", matType.MatTypeDesc),
                            new MySqlParameter("strCompanyCode", matType.CompanyCode),
                            new MySqlParameter("strIs_Active", matType.Is_Active),
                            new MySqlParameter("strCreated_By", matType.Updated_By)
                        };


                        //Output Parameter no need to define. @`strId`
                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_materialtype_update(?, ?, ?, ?, ?, ?, ?)", parameters : sqlParams);

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }
Пример #4
0
        public async Task <ResultObject> InsertMaterialType(M_MaterialType matType)
        {
            var resultObj = new ResultObject {
                RowAffected = -1, ObjectValue = matType
            };

            using (var context = new MasterDbContext(contextOptions))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        MySqlParameter[] sqlParams = new MySqlParameter[] {
                            new MySqlParameter("strMatTypeCode", matType.MatTypeCode),
                            new MySqlParameter("strMatTypeName", matType.MatTypeName),
                            new MySqlParameter("strMatTypeDesc", matType.MatTypeDesc),
                            new MySqlParameter("strCompanyCode", matType.CompanyCode),
                            new MySqlParameter("strIs_Active", matType.Is_Active),
                            new MySqlParameter("strCreated_By", matType.Created_By)
                        };

                        resultObj.RowAffected = await context.Database.ExecuteSqlCommandAsync("call sp_materialtype_insert(@`strId`, ?, ?, ?, ?, ?, ?)", parameters : sqlParams);

                        //new department after insert.
                        var newDept = context.MaterialType.FromSql("SELECT * FROM m_materialtype WHERE Id = @`strId`;").ToListAsync();
                        resultObj.ObjectValue = newDept.Result[0];

                        transaction.Commit();

                        return(resultObj);
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
        }