Exemplo n.º 1
0
        /// <summary>
        /// 引数に指定したDtDeliveryResultでDT_DELIVERY_RESULTテーブルを更新する
        /// </summary>
        /// <param name="inData">更新するデータ</param>
        /// <returns>更新したデータ</returns>
        public DtDeliveryResult UpdateDtDeliveryResult(DtDeliveryResult inData)
        {
            DtDeliveryResult model = null;

            try
            {
                _logger.EnterJson("{0}", inData);

                Rms.Server.Core.DBAccessor.Models.DtDeliveryResult entity = new Rms.Server.Core.DBAccessor.Models.DtDeliveryResult(inData);

                _dbPolly.Execute(() =>
                {
                    using (Rms.Server.Core.DBAccessor.Models.RmsDbContext db = new Rms.Server.Core.DBAccessor.Models.RmsDbContext(_appSettings))
                    {
                        db.DtDeliveryResult.Attach(entity);

                        // 全フィールドを更新する
                        //     特定フィールドだけUpdateする場合は下記のように記述してください
                        //     db.Entry(entity).Property(x => x.UpdateDatetime).IsModified = true;
                        db.Entry(entity).State = Microsoft.EntityFrameworkCore.EntityState.Modified;

                        if (db.SaveChanges() > 0)
                        {
                            model = entity.ToModel();
                        }
                    }
                });

                return(model);
            }
            catch (ValidationException e)
            {
                throw new RmsParameterException(e.ValidationResult.ErrorMessage, e);
            }
            catch (Exception e)
            {
                throw new RmsException("DT_DELIVERY_RESULTテーブルのUpdateに失敗しました。", e);
            }
            finally
            {
                _logger.LeaveJson("{0}", model);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// DT_DELIVERY_RESULTテーブルからDtDeliveryResultを削除する
        /// </summary>
        /// <param name="sid">削除するデータのSID</param>
        /// <returns>削除したデータ</returns>
        public DtDeliveryResult DeleteDtDeliveryResult(long sid)
        {
            DtDeliveryResult model = null;

            try
            {
                _logger.Enter($"{nameof(sid)}={sid}");

                Rms.Server.Core.DBAccessor.Models.DtDeliveryResult entity = new Rms.Server.Core.DBAccessor.Models.DtDeliveryResult()
                {
                    Sid = sid
                };
                _dbPolly.Execute(() =>
                {
                    using (Rms.Server.Core.DBAccessor.Models.RmsDbContext db = new Rms.Server.Core.DBAccessor.Models.RmsDbContext(_appSettings))
                    {
                        db.DtDeliveryResult.Attach(entity);
                        db.DtDeliveryResult.Remove(entity);

                        if (db.SaveChanges() > 0)
                        {
                            model = entity.ToModel();
                        }
                    }
                });

                return(model);
            }
            catch (ValidationException e)
            {
                throw new RmsParameterException(e.ValidationResult.ErrorMessage, e);
            }
            catch (Exception e)
            {
                throw new RmsException("DT_DELIVERY_RESULTテーブルのDeleteに失敗しました。", e);
            }
            finally
            {
                _logger.LeaveJson("{0}", model);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 引数に指定したDtDeliveryResultをDT_DELIVERY_RESULTテーブルへ登録する
        /// </summary>
        /// <param name="inData">登録するデータ</param>
        /// <returns>処理結果</returns>
        public DtDeliveryResult CreateDtDeliveryResult(DtDeliveryResult inData)
        {
            DtDeliveryResult model = null;

            try
            {
                _logger.EnterJson("{0}", inData);

                Rms.Server.Core.DBAccessor.Models.DtDeliveryResult entity = new Rms.Server.Core.DBAccessor.Models.DtDeliveryResult(inData);

                _dbPolly.Execute(() =>
                {
                    entity.CreateDatetime = _timePrivder.UtcNow;

                    using (Rms.Server.Core.DBAccessor.Models.RmsDbContext db = new Rms.Server.Core.DBAccessor.Models.RmsDbContext(_appSettings))
                    {
                        var dbdata = db.DtDeliveryResult.Add(entity).Entity;
                        db.SaveChanges();
                        model = dbdata.ToModel();
                    }
                });

                return(model);
            }
            catch (ValidationException e)
            {
                throw new RmsParameterException(e.ValidationResult.ErrorMessage, e);
            }
            catch (Exception e)
            {
                throw new RmsException("DT_DELIVERY_RESULTテーブルへのInsertに失敗しました。", e);
            }
            finally
            {
                _logger.LeaveJson("{0}", model);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// DT_DELIVERY_RESULTテーブルからDtDeliveryResultを取得する
        /// </summary>
        /// <param name="sid">取得するデータのSID</param>
        /// <returns>取得したデータ</returns>
        public DtDeliveryResult ReadDtDeliveryResult(long sid)
        {
            DtDeliveryResult model = null;

            try
            {
                _logger.Enter($"{nameof(sid)}={sid}");

                Rms.Server.Core.DBAccessor.Models.DtDeliveryResult entity = null;
                _dbPolly.Execute(() =>
                {
                    using (Rms.Server.Core.DBAccessor.Models.RmsDbContext db = new Rms.Server.Core.DBAccessor.Models.RmsDbContext(_appSettings))
                    {
                        entity = db.DtDeliveryResult.FirstOrDefault(x => x.Sid == sid);
                    }
                });

                if (entity != null)
                {
                    model = entity.ToModel();
                }

                return(model);
            }
            catch (ValidationException e)
            {
                throw new RmsParameterException(e.ValidationResult.ErrorMessage, e);
            }
            catch (Exception e)
            {
                throw new RmsException("DT_DELIVERY_RESULTテーブルのSelectに失敗しました。", e);
            }
            finally
            {
                _logger.LeaveJson("{0}", model);
            }
        }