Exemplo n.º 1
0
        private void ChangeType()
        {
            switch (SelectedCaseType.ToLower())
            {
            case "empty":
                Case = new EmptyCase();
                break;

            case "property":
                Case = new PropertyCase();
                break;

            case "chance":
                Case = new ChanceCase();
                break;

            case "chest":
                Case = new ChestCase();
                break;

            case "jail":
                Case = new JailCase();
                break;

            case "station":
                Case = new StationCase();
                break;

            case "tax":
                Case = new TaxCase();
                break;
            }
        }
Exemplo n.º 2
0
        private void btnEnleverPropriete_Click(object sender, EventArgs e)
        {
            PropertyCase[] selectedPropertiesJoueur = new PropertyCase[lbxProprietesJoueur.SelectedItems.Count];
            lbxProprietesJoueur.SelectedItems.CopyTo(selectedPropertiesJoueur, 0);

            foreach (PropertyCase p in selectedPropertiesJoueur)
            {
                p.Owner = null;
                p.Invalidate();
                lbxProprietesJoueur.Items.Remove(p);
                lbxProprietesDispo.Items.Add(p);
            }

            FrmGame.UpdateTabs();
        }
Exemplo n.º 3
0
        private void btnAcheterPropriete_Click(object sender, EventArgs e)
        {
            Player       currentPlayer = game.CurrentPlayer;
            AbstractCase currentCase   = game.Cases[game.CurrentPlayer.CurrentCaseIndex];

            if (currentCase is PropertyCase)
            {
                PropertyCase property = currentCase as PropertyCase;

                if (property.Owner == null)
                {
                    if (currentPlayer.Wealth >= property.Price)
                    {
                        currentPlayer.Wealth = currentPlayer.Wealth - property.Price;
                        property.Owner       = currentPlayer;
                        property.Invalidate();
                    }
                }
            }

            btnAcheterPropriete.Enabled = false;
            UpdateTabs();
        }
Exemplo n.º 4
0
        public int CreateCase(List <int> selectedQueueIds, int departmentID, int caseTypeID)
        {
            using (var db = new ModelDBContext())
            {
                //get list of queues to be update later on
                var queueList = db.Queues.Where(q => selectedQueueIds.Contains(q.QueueID)).Include(q => q.Property).ToList();
                //get case type name
                string caseType = db.CaseTypes.Where(c => c.CaseTypeID == caseTypeID).Select(c => c.Name).FirstOrDefault();

                //generate case name
                string caseName = caseType + "-" + queueList[0].Property.ParcelNumber + "-" + DateTime.Now.ToString("MM-dd-yyyy");

                //create case object
                PropertyCase propertyCase = new PropertyCase()
                {
                    CaseTypeID   = caseTypeID,
                    DepartmentID = departmentID,
                    CreatedDate  = DateTime.Now,
                    CaseName     = caseName
                };

                //save changes to get the case id
                db.PropertyCases.Add(propertyCase);
                db.SaveChanges();

                //assign case number to all queues
                foreach (var queue in queueList)
                {
                    queue.PropertyCaseID = propertyCase.PropertyCaseID;
                }

                db.SaveChanges();

                return(propertyCase.PropertyCaseID);
            }
        }
Exemplo n.º 5
0
        public void UpdateTabs()
        {
            Player       currentPlayer = game.CurrentPlayer;
            AbstractCase currentCase   = game.Cases[game.CurrentPlayer.CurrentCaseIndex];

            tabs.TabPages.Clear();

            if (!game.HasPlayed && currentPlayer.NbDoubles <= 0) // @TODO : Player hasn't played ( firt throw )
            {
                btnLancerDes.Enabled = true;

                tabs.TabPages.Add(tabCaseDes);
            }
            else
            {
                if (currentPlayer.NbDoubles > 0)
                {
                    btnLancerDes.Enabled = true;

                    tabs.TabPages.Add(tabCaseDes);
                }
                if (currentCase is StartCase || currentCase is FreeParkingCase || currentCase is GoToJailCase || currentCase is JailCase)
                {
                    string title = currentCase.ToString();

                    if (currentCase is StartCase)
                    {
                        title += Environment.NewLine + "Vous gagnez 200F";
                    }
                    else if (currentCase is JailCase)
                    {
                        if (currentPlayer.IsInJail == true)
                        {
                            title += Environment.NewLine + "En prison !";
                        }
                        else
                        {
                            title += Environment.NewLine + "Visite simple";
                        }
                    }
                    else if (currentCase is GoToJailCase)
                    {
                        title += Environment.NewLine + "Allez en prison !";
                    }

                    lblCaseCoin.Text = title;

                    pbxCaseCoin.BackgroundImage       = currentCase.GetBoardCaseImage(game);
                    pbxCaseCoin.BackgroundImageLayout = ImageLayout.Zoom;

                    tabs.TabPages.Add(tabCaseCoin);
                }
                else if (currentCase is TaxCase)
                {
                    TaxCase taxe = currentCase as TaxCase;
                    pbxCaseTaxeCarte.BackgroundImage = taxe.GetBoardCaseImage(game);
                    tabs.TabPages.Add(tabCaseTaxe);
                }
                else if (currentCase is CardCase)
                {
                    CardCase specialCard = currentCase as CardCase;

                    lblChanceChancellerie.Text         = game.LastSpecialCard.ToString();
                    pbxCaseChanceImage.BackgroundImage = specialCard.TypeImage;
                    lblCaseChanceChancelTitre.Text     = specialCard.ToString();


                    tabs.TabPages.Add(tabCaseChanceChancel);
                }
                else if (currentCase is PropertyCase)
                {
                    PropertyCase property = currentCase as PropertyCase;

                    if (property.Owner == currentPlayer || property.Owner != null)
                    {
                        if (property.Owner == currentPlayer)
                        {
                            lblCasePropAchetee.Text = $"Bienvenue chez vous, {currentPlayer.Name} !";
                        }
                        else
                        {
                            if (!property.IsMortgaged)
                            {
                                lblCasePropAchetee.Text = $"Vous êtes chez {property.Owner.Name}.{Environment.NewLine}Vous payez {property.GetRent(game)}F de loyer";
                            }
                            else
                            {
                                lblCasePropAchetee.Text = $"Propriété hypothéquée {Environment.NewLine} Vous ne payez rien";
                            }
                        }

                        pbxCasePropAchetee.BackgroundImage = property.GetPropertyCardImage(2);

                        tabs.TabPages.Add(tabCasePropAchetee);
                    }
                    else
                    {
                        if (currentPlayer.Wealth >= property.Price)
                        {
                            btnAcheterPropriete.Enabled       = true;
                            pbxCasePropSimple.BackgroundImage = property.GetPropertyCardImage(2);
                            lblCasePropSimplePrixAchat.Text   = "Prix d'achat :" + Environment.NewLine + $"{property.Price}F";
                            tabs.TabPages.Add(tabCasePropSimple);
                        }
                        else
                        {
                            pbxCasePropSimple.BackgroundImage = property.GetPropertyCardImage(2);
                            lblCasePropSimplePrixAchat.Text   = "Vous n'avez pas assez de Flouzz.";
                            btnAcheterPropriete.Enabled       = false;
                            tabs.TabPages.Add(tabCasePropSimple);
                        }
                    }
                }
            }

            // Load the properties
            flpProperties.Controls.Clear();
            var cases = game.CurrentPlayer.GetProperties(game);

            foreach (PropertyCase c in cases)
            {
                PropertyManager pm = new PropertyManager()
                {
                    Property = c,
                    Game     = game,
                    FrmGame  = this,
                };

                flpProperties.Controls.Add(pm);

                pm.UpdateBuildings();
            }
            tabs.TabPages.Add(tabProperties);
        }
        public override void OnActionExecuted(ActionExecutedContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            var viewResult = context.Result as ViewResult;
            if (viewResult == null)
                return;

            var tempData = context.Controller.TempData;
            var viewData = context.Controller.ViewData;

            viewData.Model = viewResult.Model;

            var req = context.HttpContext.Request;
            var modelState = viewData.ModelState;
            var errs = modelState.Keys.Where(key => modelState[key].Errors.Count > 0).ToDictionary<string, string, IList<string>>(key => key, key => modelState[key].Errors.Select(e => e.ErrorMessage).ToList());

            if (!req.IsAjaxRequest()){
                context.Result = new ViewResult
                {
                    ViewName = viewResult.ViewName ?? GetViewName(context),
                    TempData = tempData,
                    ViewData = viewData
                };
            }
            else
            {
                HttpResponseBase response = context.HttpContext.Response;

                // set content type
                //response.ContentType = !string.IsNullOrEmpty(ContentType) ? ContentType : "application/json";

                //var isJson = req.ContentType.Split(';').Any(t => t.Equals("application/json", StringComparison.OrdinalIgnoreCase));
                var isJson = req.Headers["Accept"].Split(',').Any(t => t.Equals("application/json", StringComparison.OrdinalIgnoreCase));
                if (isJson)
                {
                    _propertyCase = PropertyCase.CamelCase;
                    _convertDate = true;

                    var view = new JsonResult();
                    if (tempData.ContainsKey("ActionResult"))
                    {
                        view.Data = tempData["ActionResult"];
                    }
                    else
                    {
                        var msg = tempData.ContainsKey("Message") ? tempData["Message"] : String.Empty;
                        if (errs.Any())
                        {
                            view.Data = new { errors = errs, success = false, message = msg };
                        }
                        else
                        {
                            view.Data = new { data = viewData.Model, success = true, message = msg };
                        }
                    }

                    // set content encoding
                    if (ContentEncoding != null)
                    {
                        response.ContentEncoding = ContentEncoding;
                    }

                    if (Settings == null)
                    {

                        Settings = new JsonSerializerSettings();
                        if (_propertyCase == PropertyCase.CamelCase)
                        {
                            Settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                        }

                        if (_convertDate)
                        {
                            Settings.Converters = new List<JsonConverter>
                        {
                            new JavaScriptDateTimeConverter()
                        };
                        }
                    }

                    Settings = new JsonSerializerSettings
                    {
                        ContractResolver = new CamelCasePropertyNamesContractResolver(),

                    };

                    var x = JsonConvert.SerializeObject(view.Data, Formatting, Settings);
                    context.Result = new JsonResult
                    {
                        Data = view.Data
                    };

                }
                else
                {
                    var viewName = GetAjaxViewName(context) ?? viewResult.ViewName;
                    var vResult = context.Result as ViewResult;
                    context.Result = new PartialViewResult
                    {
                        TempData = vResult.TempData,
                        ViewData = vResult.ViewData,
                        ViewName = viewName
                    };

                }
            }
        }
Exemplo n.º 7
0
 public JsonNetResult(object responseBody, PropertyCase propertyCase = PropertyCase.CamelCase, bool convertDate = true)
 {
     ResponseBody = responseBody;
     _propertyCase = propertyCase;
     _convertDate = convertDate;
 }