コード例 #1
0
        public Captains Update(Captains captain)
        {
            Captains _captain = null;

            using (var sqlConnection = new SqlConnection(DbDbConstant.DatabaseConnection))
            {
                sqlConnection.Open();
                _captain = sqlConnection.Get <Captains>(captain.CAPTAIN_ID);
                _captain.RECORD_STATUS       = 1;
                _captain.UPDATE_DATE         = DateTime.Now;
                _captain.UPDATE_USER         = captain.UPDATE_USER;
                _captain.CAPTAIN_INFO        = captain.CAPTAIN_INFO;
                _captain.BOAT_ID             = captain.BOAT_ID;
                _captain.CAPTAIN_MIDDLE_NAME = captain.CAPTAIN_MIDDLE_NAME;
                _captain.CAPTAIN_NAME        = captain.CAPTAIN_NAME;
                _captain.CAPTAIN_SURNAME     = captain.CAPTAIN_SURNAME;
                _captain.EMAIL        = captain.EMAIL;
                _captain.PHONE_NUMBER = captain.PHONE_NUMBER;

                sqlConnection.Update <Captains>(_captain);
                var result = sqlConnection.Get <Captains>(captain.BOAT_ID);
            }

            return(_captain);
        }
コード例 #2
0
        public long Insert(Captains captain)
        {
            using (var sqlConnection = new SqlConnection(DbDbConstant.DatabaseConnection))
            {
                sqlConnection.Open();

                var _captain = new Captains()
                {
                    GUID                = Guid.NewGuid().ToString(),
                    RECORD_STATUS       = 1,
                    INSERT_DATE         = DateTime.Now,
                    INSERT_USER         = captain.INSERT_USER,
                    UPDATE_DATE         = DateTime.Now,
                    UPDATE_USER         = captain.UPDATE_USER,
                    BOAT_ID             = captain.BOAT_ID,
                    CAPTAIN_INFO        = captain.CAPTAIN_INFO,
                    CAPTAIN_MIDDLE_NAME = captain.CAPTAIN_MIDDLE_NAME,
                    CAPTAIN_NAME        = captain.CAPTAIN_NAME,
                    CAPTAIN_SURNAME     = captain.CAPTAIN_SURNAME,
                    EMAIL               = captain.EMAIL,
                    PHONE_NUMBER        = captain.PHONE_NUMBER,
                    IDENTIFICATION_ID   = captain.IDENTIFICATION_ID
                };

                var captainGuid = sqlConnection.Insert <Captains>(_captain);

                sqlConnection.Close();

                return(captainGuid);
            }
        }
コード例 #3
0
        //private async void RunCompetition()
        //{
        //var captainsToRun = Captains.Where(c => c.IsSelected).ToList();

        //var numCaptains = captainsToRun.Count;
        //// Compute the number of total rounds for keeping track of progress
        //int numberofrounds = numCaptains * numCaptains - numCaptains;

        //int counter = 0;
        //foreach (var captain in captainsToRun)
        //{
        //    var captainOpponents = captainsToRun.Where(c => c.AssemblyQualifiedName != captain.AssemblyQualifiedName);
        //    foreach (var captain2 in captainOpponents)
        //    {
        //        if (StopCompetition) return;
        //        if (/*await*/ BattleCaptains(captain, captain2, captainsToRun.Count))
        //        {
        //            counter++;
        //        }

        //        MatchProgress =  100 * counter / numberofrounds;
        //    }
        //}
        //    RunCompetitionAsync();
        //}

        private async Task <bool> RunCompetitionAsync()
        {
            var watch         = Stopwatch.StartNew();
            var captainsToRun = Captains.Where(c => c.IsSelected).ToList();

            var numCaptains = captainsToRun.Count;
            // Compute the number of total rounds for keeping track of progress
            int numberofrounds = numCaptains * numCaptains - numCaptains;

            int counter = 0;

            foreach (var captain in captainsToRun)
            {
                var captainOpponents = captainsToRun.Where(c => c.AssemblyQualifiedName != captain.AssemblyQualifiedName);
                foreach (var captain2 in captainOpponents)
                {
                    if (StopCompetition)
                    {
                        return(true);
                    }
                    //if (/*await*/ BattleCaptains(captain, captain2, captainsToRun.Count))
                    if (await BattleCaptains(captain, captain2, captainsToRun.Count))
                    {
                        counter++;
                    }

                    MatchProgress = 100 * counter / numberofrounds;
                }
            }
            watch.Stop();
            Console.WriteLine($"took {watch.ElapsedMilliseconds}");
            return(true);
        }
コード例 #4
0
        //From before perf testing
        private async void RunCompetition()
        {
            var captainsToRun = Captains.Where(c => c.IsSelected).ToList();

            var numCaptains = captainsToRun.Count;
            // Compute the number of total rounds for keeping track of progress
            int numberofrounds = numCaptains * numCaptains - numCaptains;

            int counter = 0;

            foreach (var captain in captainsToRun)
            {
                var captainOpponents = captainsToRun.Where(c => c.AssemblyQualifiedName != captain.AssemblyQualifiedName);
                foreach (var captain2 in captainOpponents)
                {
                    if (StopCompetition)
                    {
                        return;
                    }
                    if (await BattleCaptains(captain, captain2, captainsToRun.Count))
                    {
                        counter++;
                    }

                    MatchProgress = 100 * counter / numberofrounds;
                }
            }
        }
コード例 #5
0
        public static ResponseCaptain GetCaptainInfo(long captainID)
        {
            try
            {
                Captains captain = captainsService.SelectByBoatId(captainID);

                ResponseCaptain response = new ResponseCaptain
                {
                    BOAT_ID             = captain.BOAT_ID,
                    CAPTAIN_INFO        = captain.CAPTAIN_INFO,
                    CAPTAIN_NAME        = captain.CAPTAIN_NAME,
                    CAPTAIN_MIDDLE_NAME = captain.CAPTAIN_MIDDLE_NAME,
                    CAPTAIN_SURNAME     = captain.CAPTAIN_SURNAME,
                    EMAIL             = captain.EMAIL,
                    IDENTIFICATION_ID = captain.IDENTIFICATION_ID,
                    PHONE_NUMBER      = captain.PHONE_NUMBER,
                    CAPTAIN_ID        = captain.CAPTAIN_ID,
                    header            = new ResponseHeader
                    {
                        IsSuccess       = true,
                        ResponseCode    = CommonDefinitions.SUCCESS,
                        ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE
                    }
                };

                return(response);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #6
0
        public Captains SelectByBoatId(long captainId)
        {
            Captains _captain = null;

            using (var sqlConnection = new SqlConnection(DbDbConstant.DatabaseConnection))
            {
                sqlConnection.Open();
                IEnumerable <Captains> captain = sqlConnection.Query <Captains>("select * from CAPTAINS where CAPTAIN_ID = @id", new { id = captainId });
                _captain = captain.FirstOrDefault();
            }

            return(_captain);
        }
コード例 #7
0
        public Captains Delete(Captains captain)
        {
            Captains _captain = null;

            using (var sqlConnection = new SqlConnection(DbDbConstant.DatabaseConnection))
            {
                sqlConnection.Open();
                _captain = sqlConnection.Get <Captains>(captain.CAPTAIN_ID);
                _captain.RECORD_STATUS = 0;
                _captain.UPDATE_DATE   = DateTime.Now;
                _captain.UPDATE_USER   = captain.UPDATE_USER;

                sqlConnection.Update <Captains>(_captain);
                var result = sqlConnection.Get <Captains>(captain.CAPTAIN_ID);
            }
            return(_captain);
        }
コード例 #8
0
        public override void DoOperation()
        {
            try
            {
                //Validate Reques Header / Constants
                this.baseResponseMessage = ValidateInput();
                if (!this.baseResponseMessage.header.IsSuccess)
                {
                    throw new Exception(this.baseResponseMessage.header.ResponseMessage);
                }

                //Operation
                switch (this.request.Header.OperationTypes)
                {
                case (int)OperationType.OperationTypes.ADD:
                    #region ADD
                    long checkGuid = 0;
                    this.captain = new Captains
                    {
                        INSERT_USER         = this.request.INSERT_USER,
                        UPDATE_USER         = this.request.UPDATE_USER,
                        CAPTAIN_NAME        = this.request.CAPTAIN_NAME,
                        CAPTAIN_MIDDLE_NAME = this.request.CAPTAIN_MIDDLE_NAME,
                        CAPTAIN_SURNAME     = this.request.CAPTAIN_SURNAME,
                        BOAT_ID             = this.request.BOAT_ID,
                        IDENTIFICATION_ID   = this.request.IDENTIFICATION_ID,
                        EMAIL        = this.request.EMAIL,
                        PHONE_NUMBER = this.request.PHONE_NUMBER,
                        CAPTAIN_INFO = this.request.CAPTAIN_INFO
                    };
                    //Add Data to Database
                    checkGuid = captainsService.Insert(this.captain);

                    //Connect captain to related Boat
                    Boats boat = new Boats();
                    boat            = boatsService.SelectByBoatId(this.captain.BOAT_ID);
                    boat.CAPTAIN_ID = checkGuid;
                    boatsService.Update(boat);

                    this.response = new ResponseCaptain
                    {
                        CAPTAIN_ID          = checkGuid,
                        CAPTAIN_NAME        = this.request.CAPTAIN_NAME,
                        CAPTAIN_MIDDLE_NAME = this.request.CAPTAIN_MIDDLE_NAME,
                        CAPTAIN_SURNAME     = this.request.CAPTAIN_SURNAME,
                        BOAT_ID             = this.request.BOAT_ID,
                        IDENTIFICATION_ID   = this.request.IDENTIFICATION_ID,
                        EMAIL        = this.request.EMAIL,
                        PHONE_NUMBER = this.request.PHONE_NUMBER,
                        CAPTAIN_INFO = this.request.CAPTAIN_INFO,
                        header       = new ResponseHeader
                        {
                            IsSuccess       = checkGuid == 0 ? false : true,
                            ResponseCode    = checkGuid == 0 ? CommonDefinitions.INTERNAL_SYSTEM_UNKNOWN_ERROR : CommonDefinitions.SUCCESS,
                            ResponseMessage = checkGuid == 0 ? CommonDefinitions.ERROR_MESSAGE : CommonDefinitions.SUCCESS_MESSAGE
                        }
                    };
                    #endregion
                    break;

                case (int)OperationType.OperationTypes.UPDATE:
                    #region UPDATE
                    this.captain = new Captains
                    {
                        UPDATE_USER         = this.request.UPDATE_USER,
                        CAPTAIN_NAME        = this.request.CAPTAIN_NAME,
                        CAPTAIN_MIDDLE_NAME = this.request.CAPTAIN_MIDDLE_NAME,
                        CAPTAIN_SURNAME     = this.request.CAPTAIN_SURNAME,
                        BOAT_ID             = this.request.BOAT_ID,
                        IDENTIFICATION_ID   = this.request.IDENTIFICATION_ID,
                        EMAIL        = this.request.EMAIL,
                        PHONE_NUMBER = this.request.PHONE_NUMBER,
                        CAPTAIN_INFO = this.request.CAPTAIN_INFO
                    };
                    //Modify Data to Database
                    captainsService.Update(this.captain);
                    this.response = new ResponseCaptain
                    {
                        CAPTAIN_NAME        = this.request.CAPTAIN_NAME,
                        CAPTAIN_MIDDLE_NAME = this.request.CAPTAIN_MIDDLE_NAME,
                        CAPTAIN_SURNAME     = this.request.CAPTAIN_SURNAME,
                        BOAT_ID             = this.request.BOAT_ID,
                        IDENTIFICATION_ID   = this.request.IDENTIFICATION_ID,
                        EMAIL        = this.request.EMAIL,
                        PHONE_NUMBER = this.request.PHONE_NUMBER,
                        CAPTAIN_INFO = this.request.CAPTAIN_INFO,
                        header       = new ResponseHeader
                        {
                            IsSuccess       = true,
                            ResponseCode    = CommonDefinitions.SUCCESS,
                            ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE
                        }
                    };
                    #endregion
                    break;

                case (int)OperationType.OperationTypes.GET:
                    #region GET
                    //Get Data
                    this.captain = captainsService.SelectByBoatId(this.request.BOAT_ID);

                    this.response = new ResponseCaptain
                    {
                        CAPTAIN_NAME        = this.captain.CAPTAIN_NAME,
                        CAPTAIN_MIDDLE_NAME = this.captain.CAPTAIN_MIDDLE_NAME,
                        CAPTAIN_SURNAME     = this.captain.CAPTAIN_SURNAME,
                        BOAT_ID             = this.captain.BOAT_ID,
                        IDENTIFICATION_ID   = this.captain.IDENTIFICATION_ID,
                        EMAIL        = this.captain.EMAIL,
                        PHONE_NUMBER = this.captain.PHONE_NUMBER,
                        CAPTAIN_INFO = this.captain.CAPTAIN_INFO,
                        header       = new ResponseHeader
                        {
                            IsSuccess       = true,
                            ResponseCode    = CommonDefinitions.SUCCESS,
                            ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE
                        }
                    };
                    #endregion
                    break;

                case (int)OperationType.OperationTypes.DELETE:
                    #region DELETE
                    this.captain = captainsService.SelectByBoatId(this.request.BOAT_ID);

                    captainsService.Delete(this.captain);
                    this.response = new ResponseCaptain
                    {
                        CAPTAIN_NAME        = "",
                        CAPTAIN_MIDDLE_NAME = "",
                        CAPTAIN_SURNAME     = "",
                        BOAT_ID             = this.captain.BOAT_ID,
                        IDENTIFICATION_ID   = 0,
                        EMAIL        = "",
                        PHONE_NUMBER = "",
                        CAPTAIN_INFO = "",
                        header       = new ResponseHeader
                        {
                            IsSuccess       = true,
                            ResponseCode    = CommonDefinitions.SUCCESS,
                            ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE
                        }
                    };

                    //DisConnect captain to related Boat
                    Boats boats = new Boats();
                    boats            = boatsService.SelectByBoatId(this.captain.BOAT_ID);
                    boats.CAPTAIN_ID = 0;
                    boatsService.Update(boats);

                    #endregion
                    break;


                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                string operationError = "HATA:[" + "CaptainId:" + this.request.CAPTAIN_ID + ",ResponseCode:" + this.baseResponseMessage.header.ResponseCode + ", ResponseMessage:" + ex.Message + "]";
                log.InfoFormat(operationError, ex);
                throw new Exception(ex.Message, ex.InnerException);
            }
        }
コード例 #9
0
ファイル: Captains.cs プロジェクト: ArXen42/HabitableZone-Old
 public CaptainsData(Captains captains)
 {
     PlayerData = captains.Player.GetSerializationData();
 }
コード例 #10
0
 public CaptainViewInfo(Captains capt)
 {
     Id    = (int)capt;
     Name  = string.Format("Captain {0}", capt.Humanize(LetterCasing.Title));
     Image = string.Format("{0}.png", capt.ToString());
 }