Esempio n. 1
0
        public async Task <ObjectResult> Update([FromQuery] string maTieuChuan, [FromBody] CapNhatTieuChuanDPEntity model)
        {
            try
            {
                MyServiceResult objMyServiceResult = await this._ITieuChuanService.CapNhat(maTieuChuan, model);

                return(StatusCode(StatusCodes.Status200OK, JsonSerializer.Serialize <MyServiceResult>(objMyServiceResult)));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, JsonSerializer.Serialize <MyServiceResult>(new MyServiceResult
                {
                    Successed = false,
                    Content = ex.Message
                })));
            }
        }
        public async Task <MyServiceResult> CapNhat(string maTieuChuan, CapNhatTieuChuanDPEntity model)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(maTieuChuan))
                {
                    return(new MyServiceResult
                    {
                        Successed = false,
                        Content = "Lỗi cập nhật Tiêu chuẩn"
                    });
                }

                if (model is null)
                {
                    return(new MyServiceResult
                    {
                        Successed = false,
                        Content = "Lỗi tạo Tiêu chuẩn"
                    });
                }

                IDbConnection dbConnection = this._IMyDapper.GetConnection();
                if (dbConnection.State == ConnectionState.Closed)
                {
                    dbConnection.Open();
                }

                using (IDbTransaction dbTransaction = dbConnection.BeginTransaction())
                {
                    try
                    {
                        TieuChuanDPEntity objTieuChuanDPEntity = await dbConnection.QueryFirstOrDefaultAsync <TieuChuanDPEntity>("[LayTieuChuanTheoMa]", new { @MaTieuChuan = maTieuChuan, @TenTieuChuan = model.TenTieuChuan, @MoTa = model.MoTa, @SoHopMinhChung = model.SoHopMinhChung }, transaction : dbTransaction, commandType : CommandType.StoredProcedure);

                        dbTransaction.Commit();
                        if (objTieuChuanDPEntity is null)
                        {
                            return(new MyServiceResult
                            {
                                Successed = false,
                                Content = "Không tìm thấy Tiêu chuẩn"
                            });
                        }

                        model.TenTieuChuan = model.TenTieuChuan.CapitalizeWord();
                        model.MoTa         = model.MoTa.CapitalizeSentences();

                        int effectedRows = await dbConnection.ExecuteAsync("[CapNhatTieuChuan]", new { @MaTieuChuan = maTieuChuan }, transaction : dbTransaction, commandType : CommandType.StoredProcedure);

                        dbTransaction.Commit();
                        if (effectedRows > 0)
                        {
                            return(new MyServiceResult
                            {
                                Successed = true,
                                Content = $"Cập nhật thành công Tiêu chuẩn {objTieuChuanDPEntity.TenTieuChuan}"
                            });
                        }
                        else
                        {
                            return(new MyServiceResult
                            {
                                Successed = false,
                                Content = $"Cập nhật thất bại Tiêu chuẩn {objTieuChuanDPEntity.TenTieuChuan}"
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                        dbTransaction.Rollback();
                        return(new MyServiceResult
                        {
                            Successed = false,
                            Content = ex.Message
                        });
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }