Beispiel #1
0
        public void DeleteProvince(Province province)
        {
            if (province == null)
                throw new ArgumentNullException("province");

            using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings[this.ConnectionStringName].ConnectionString))
            {
                connection.Open();

                var command = new SqlCommand("usp_DeleteProvince", connection)
                {
                    CommandType = System.Data.CommandType.StoredProcedure
                };

                command.Parameters.Add(new SqlParameter
                {
                    Direction = ParameterDirection.Input,
                    IsNullable = true,
                    ParameterName = "@ID",
                    SqlDbType = SqlDbType.UniqueIdentifier,
                    SqlValue = province.ID
                });

                command.ExecuteNonQuery();
            }
        }
    public static List<Province> GetProvinces()
    {
        List<Province> provinces = new List<Province>();

        SqlConnection connection = TravelExpertsDB.GetConnection();
        string query = "SELECT ProvId, ProvName, ProvCode " +
            " FROM Provinces";
        SqlCommand command = new SqlCommand( query, connection);

        try
        {
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Province province = new Province();
                province.ProvId = Convert.ToInt32(reader["ProvId"]);
                province.ProvName = reader["ProvName"].ToString();
                province.ProvCode = reader["ProvCode"].ToString();
                provinces.Add(province);
            }
        }
        catch (SqlException ex)
        {
            throw ex;
        }
        finally
        {
            connection.Close();
        }
        return provinces;
    }
		private void ApplyHistory( Province prov )
		{											  
			prov.History.Sort( m_dateComparer );

			foreach( EventOption ev in prov.History )
			{
				if ( ev.Date.Year > m_options.StartDate )
					break;

				foreach( Option op in ev.SubOptions )
				{
					
					if( op.GetIDString == "culture" )
					{
						if ( !prov.CustomFlags.ContainsKey( "old_cul" ) )
							prov.CustomFlags["old_cul"] = prov.Culture;
						prov.Culture = ( (StringOption)op ).GetValue;
					} else if( op.GetIDString == "religion" )
					{
						if( !prov.CustomFlags.ContainsKey( "old_rel" ) )
							prov.CustomFlags["old_rel"] = prov.Religion;
						prov.Religion = ( (StringOption)op ).GetValue;
					}
				}
			}
		}
        protected void ButtonSalvaClick(object sender, EventArgs e)
        {
            if (__ListBox_Regioni.SelectedIndex != -1)
            {
                if (!string.IsNullOrEmpty(__ListBox_Regioni.SelectedValue) && !string.IsNullOrEmpty(__TextBox_Provincia.Text))
                {
                    var regione = Regioni.GetItem(Regioni.KeyColumnsEnum.Id, int.Parse(__ListBox_Regioni.SelectedValue));
                    if (regione == null)
                    {
                        MessageBox("Selezionare una regione");
                        return;
                    }

                    var provincia = Province.GetItem(Province.KeyColumnsEnum.Id, __ListBox_Province.SelectedValue);
                    if (provincia == null) provincia = new Province();

                    provincia.Provincia = __TextBox_Provincia.Text;
                    provincia.Url = __TextBox_Url.Text;
                    provincia.Regioni = regione;

                    if (!Province.Save(out Avviso, ref provincia))
                    {
                        MessageBox(Avviso);
                        return;
                    }

                    __TextBox_Provincia.Text = string.Empty;
                    __TextBox_Url.Text = string.Empty;

                    CaricaProvince();
                }
            }
            else MessageBox("Seleziona una voce dall'elenco di sinistra");
        }
Beispiel #5
0
    //public Noble(Color nC, string n) : this(nC, n, 4, 3, 0, 10, 10, 10, 10) { }

    public IEnumerator StartScout(Province p, int aP, int mP, int pP)
    {
        int adminPointsUsed = aP, militaryPointsUsed = mP, politicalPointsUsed = pP;
        if (adminPointsUsed > administrativePointsLeft) adminPointsUsed = administrativePointsLeft;
        else if (adminPointsUsed < 0) adminPointsUsed = 0;
        if (militaryPointsUsed > militaryPointsLeft) militaryPointsUsed = militaryPointsLeft;
        else if (militaryPointsUsed < 0) militaryPointsUsed = 0;
        if (politicalPointsUsed > politicalPointsLeft) politicalPointsUsed = politicalPointsLeft;
        else if (politicalPointsUsed < 0) politicalPointsUsed = 0;

        if (scouting.IndexOf(p.provinceName) < 0 && politicalPointsUsed >= 1)
        {
            administrativePointsLeft -= adminPointsUsed;
            militaryPointsLeft -= militaryPointsUsed;
            politicalPointsLeft -= politicalPointsUsed;

            scouting.Add(p.provinceName);
            yield return new WaitForSeconds(scoutTime / (adminPointsUsed + militaryPointsUsed + politicalPointsUsed));
            ScoutLand(p);
            scouting.Remove(p.provinceName);

            administrativePointsLeft += adminPointsUsed;
            militaryPointsLeft += militaryPointsUsed;
            politicalPointsLeft += politicalPointsUsed;
        }
    }
Beispiel #6
0
 /// <summary>
 /// Agent is parented to agents aka. the province he is in.
 /// His position is at province pivot.
 /// We adjust his local coordinate, because we take into account he is in Britain.
 /// No sense to adjust his world space coord.
 /// </summary>
 private void alignAgentsIntoRows(int agentCount, Agent agent, Province province)
 {
     //TODO test purpose
     agent.transform.localPosition = Vector3.zero;
     Vector3 positionRelativeToBritainProvincePivot = new Vector3(2f, 1f, 0f);//for Britain only
     agent.transform.localPosition = agent.transform.localPosition + positionRelativeToBritainProvincePivot + (0.4f) * (agentCount % 4) * Vector3.right + (0.4f) * (agentCount / 4) * Vector3.down;
 }
        /// <summary>
        /// Restituisce l'url della categoria
        /// </summary>
        public static string GetUrlCategorie(Categorie categorie, Regioni regioni = null, Province province = null)
        {
            string link = string.Empty;
            while (categorie != null)
            {
                link = categorie.Url + "/" + link;
                categorie = categorie.Prec;
            }

            if (province != null)
            {
                //Se finisce con lo slash /
                if (link.EndsWith("/")) link = link.Remove(link.Length - 1);
                if (!string.IsNullOrEmpty(link)) link += ".";
                return "/annunci/" + link.ToLower() + province.Regioni.Url.ToLower() + "." + province.Url.ToLower();
            }

            if (regioni != null)
            {
                //Se finisce con lo slash /
                if (link.EndsWith("/")) link = link.Remove(link.Length - 1);
                if (!string.IsNullOrEmpty(link)) link += ".";
                return "/annunci/" + link.ToLower() + regioni.Url.ToLower();
            }

            return "/annunci/" + link.ToLower();
        }
        public static bool addProvince(Province province, string connString)
        {
            #region code
            bool rs = false;
            using (SqlConnection conn = new SqlConnection(connString))
            {
                try
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "sony_sp_add_province";
                        cmd.Parameters.AddWithValue("@province", province.SProvince);
                        cmd.Parameters.AddWithValue("@provinceOrder", province.ProvinceOrder);
                        SqlParameter returnVal = new SqlParameter("@returnVal", SqlDbType.Int);
                        returnVal.Direction = ParameterDirection.Output;
                        cmd.Parameters.Add(returnVal);

                        cmd.ExecuteNonQuery();
                        rs = ((int)cmd.Parameters["@returnVal"].Value != 0);
                    }
                }
                catch (Exception ex)
                {
                    WriteLog("", "Add Province Error: " + ex.Message, connString);
                    return false;
                }
            }
            return rs;
            #endregion
        }
Beispiel #9
0
        public void InitDataBase(string connectionString)
        {
            using (var ctx = new Context(connectionString))
            {
                if (ctx.Database.Exists())
                    ctx.Database.Delete();
                ctx.Database.Initialize(true);
                List<Province> entityProwinces = new List<Province>();
                foreach (var province in ProvinceData.GetProvinces())
                {
                    var prow = new Province { Code = province.Code, Name = province.Name };
                    ctx.Provinces.Add(prow);
                    ctx.SaveChanges();
                    entityProwinces.Add(prow);
                }

                BulkUploadToSql bulk =
                    BulkUploadToSql.Load(
                        HomeData.GetHomes()
                            .Select(
                                i =>
                                    new Bulk.Home
                                    {
                                        AddTime = DateTime.Now,
                                        BuildYear = i.BuildYear,
                                        City = i.City,
                                        Description = i.Description,
                                        Price = i.Price,
                                        Surface = i.Surface,
                                        ProvinceId = entityProwinces.Single(j => j.Code == i.HomeProvince.Code).Id
                                    }), "Home", 10000, connectionString);
                bulk.Flush();

            }
        }
 public District(string id, string name, Province province)
 {
     Id = id;
     DistrictName = name;
     Latitude = 0;
     Longitude = 0;
     Province = province;
 }
 public District(string id, string name, Province province, decimal latitude, decimal longitude)
 {
     Id = id;
     DistrictName = name;
     Province = province;
     Latitude = latitude;
     Longitude = longitude;
 }
Beispiel #12
0
    public bool isLocationInProvince(Province province)
    {
        if(province == null) {
            return false;
        }

        return this.province.descriptor.provinceName.Equals(province.descriptor.provinceName);
    }
 public District(decimal latitude, decimal longitude)
 {
     Latitude = latitude;
     Longitude = longitude;
     Id = string.Empty;
     DistrictName = string.Empty;
     Province = new Province();
 }
Beispiel #14
0
 public Province CreateProvince(ProvinceInitData initData)
 {
     var province = new Province();
     province.DisplayName = initData.DisplayName;
     Provinces.Add(province);
     province.Init(this);
     return province;
 }
Beispiel #15
0
 public static List<Account> GetAccounts(
     string name,
     int gender,
     string bloodType,
     int birthYear,
     int birthMonth,
     int birthDate,
     City hometownCity,
     Province homwtownProvince,
     City resideCity,
     Province resideProvince,
     ClassInfo classInfo,
     Grade grade,
     Major major,
     College college,
     University university,
     string code,
     bool? hasAvatar,
     string nickName,
     bool? isProtected,
     int minViewCount,
     int maxViewCount,
     bool? isPublic,
     int minYear,
     int maxYear,
     string interest,
     PagingInfo pagingInfo)
 {
     return provider.GetAccounts(
         name,
         gender,
         bloodType,
         birthYear,
         birthMonth,
         birthDate,
         hometownCity,
         homwtownProvince,
         resideCity,
         resideProvince,
         classInfo,
         grade,
         major,
         college,
         university,
         code,
         hasAvatar,
         nickName,
         isProtected,
         minViewCount,
         maxViewCount,
         isPublic,
         minYear,
         maxYear,
         interest,
         pagingInfo);
 }
Beispiel #16
0
    private Agent createAgent(Province province)
    {
        Mover agentMover = GetMover();
        Agent createdAgent = AgentFactory.Instance.Build(StringGenerator.getRandomName(), StringGenerator.getRandomSurname(), StringGenerator.getRandomPortraitName());
        agentMover.AddAgentToProvince(createdAgent, province);

        Notifier.Instance.notify(EventFactory.Build("Agent created", createdAgent.descriptor.name.ToUpper()));

        return createdAgent;
    }
Beispiel #17
0
 /// <summary>Creates a new <see cref="SupportMoveOrder"/> instance.
 /// </summary>
 /// <param name="unit">The <see cref="Unit"/> that this order concerns.</param>
 /// <param name="supportedUnit">Supported <see cref="Unit"/>.</param>
 /// <param name="targetProvince">Target <see cref="Province"/>.</param>
 public SupportMoveOrder(Unit unit, Unit supportedUnit, Province targetProvince)
     : base(OrderType.SupportMove, unit)
 {
     if( supportedUnit == null )
     {
         throw new ArgumentNullException("supportedUnit");
     }
     this.supportedUnit = supportedUnit;
     this.targetProvince = targetProvince;
 }
    //public bool commodityKnown { get; private set; }

	// Use this for initialization
	void Start ()
    {
        province = new Province(gameObject.name.Replace("_", " "), this);

        //RandomizeCommodity();

        Camera.main.GetComponent<Game>().provinces.Add(province.provinceName, province);
        material = new Material(Shader.Find("Legacy Shaders/Diffuse"));
        RandomizeColor();
        GetComponent<Renderer>().material = material;
	}
Beispiel #19
0
 public ProvinceModel(Province Province)
 {
     this.ProvinceCode = Province.ProvinceCode;
     this.ProvinceName = Province.ProvinceName;
     this.Description = Province.Description;
     this.RegionCode = Province.RegionCode;
     this.ProvinceListCode = Province.ProvinceListCode;
     this.Districts = Province.Districts;
     this.Region = Province.Region;
     this.DMDiemIns = Province.DMDiemIns;
 }
Beispiel #20
0
 /// <summary>
 /// Initialisiert eine neue Instanz der <see cref="TaxOfficeInfo" /> Klasse.
 /// </summary>
 /// <param name="bufaNr">Die BUFA-Nummer (Bundesfinanzamt-Nummer)</param>
 /// <param name="name">Name des Finanzamtes</param>
 /// <param name="supportsLsta">Dürfen Lohnsteuer-Anmeldungen hierher versandt werden?</param>
 /// <param name="province">Zu welchem Bundesland gehört das Finanzamt?</param>
 /// <param name="isTest">Ist das FA ein Test-Finanzamt?</param>
 /// <param name="validSince">Gültig seit?</param>
 /// <param name="validUntil">Gültig bis?</param>
 /// <param name="redirectTo">Neue FA-Nummer</param>
 public TaxOfficeInfo(int bufaNr, [NotNull] string name, bool supportsLsta, Province province, bool isTest = false, DateTime? validSince = null, DateTime? validUntil = null, IReadOnlyList<int> redirectTo = null)
 {
     BufaNr = bufaNr;
     Name = name.Trim();
     SupportsElsterAnmeldung = supportsLsta;
     Province = province;
     IsTest = isTest;
     ValidSince = validSince;
     ValidUntil = validUntil;
     RedirectTo = redirectTo;
 }
Beispiel #21
0
        private void SelectProv(object sender, EventArgs e)
        {
            var prov = _provInfoControl.SelectedInfo.Province;
            var myProv = _rManager.ActingProv;

            // 自分との同盟は行わない || 延長できるのは6ターン未満
            if (prov == myProv || _rManager.League[prov.No, myProv.No] >= 6)
                return;
            this.SelectedProvince = prov;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
        public void TestAddProvince()
        {
            var provinceService = A.Fake<IProvinceService>();

            var province = new Province
            {
                Code = "LGN",
                Name = "Laguna",
            };

            A.CallTo(() => provinceService.Save(province)).Returns(province);
        }
    protected void btnSearchPhanPhoi_Click(object sender, EventArgs e)
    {
        if (dropListThanhPho.SelectedValue != null && dropListQuan.SelectedValue != null)
        {
            var oProvince = new Province();
            var oDistrict = new District();
            var dv = oProvince.ProvinceSelectOne(dropListThanhPho.SelectedValue).DefaultView;
            var dv2 = oDistrict.DistrictSelectOne(dropListQuan.SelectedValue).DefaultView;

            Response.Redirect(progressTitle(dv2[0]["DistrictName"].ToString()) + "-pvi-" + dv[0]["ProvinceID"] + "-dsi-" + dv2[0]["DistrictID"] + ".aspx");
        }
    }
Beispiel #24
0
 public Province toProvince()
 {
     Province result = new Province();
     result.ProvinceCode = this.ProvinceCode;
     result.ProvinceName = this.ProvinceName;
     result.Description = this.Description;
     result.RegionCode = this.RegionCode;
     result.ProvinceListCode = this.ProvinceListCode;
     result.Districts = this.Districts;
     result.Region = this.Region;
     result.DMDiemIns = this.DMDiemIns;
     return result;
 }
    public static void AddProvince(ProvinceDescriptor provinceDescriptor, Province province)
    {
        if (!provinceDescriptor.isValid()) {
            GameLogger.printRed(string.Format("DynamicObjectRegistry:: Cannot add invalid {0} province descriptor!", provinceDescriptor.provinceName));
            return;
        }

        if (PROVINCES.ContainsKey(provinceDescriptor.provinceName)) {
            GameLogger.printRed(string.Format("DynamicObjectRegistry:: Province {0} already present!", provinceDescriptor.provinceName));
            return;
        }

        PROVINCES.Add(provinceDescriptor.provinceName, province);
    }
 public int InsertDefault()
 {
     var a = from e in db.Provinces where e.ProvinceName.Trim().ToLower() == "other" select e.Id;
     if (a.Count() > 0)
         return a.SingleOrDefault();
     else
     {
         Province o = new Province();
         o.ProvinceName = "Other";
         o.SectionId = SRepo.GetSectionIdByName("");
         db.Provinces.InsertOnSubmit(o);
         db.SubmitChanges();
         return o.Id;
     }
 }
    public bool Add( string provinceName, int sectionId)
    {
        try
        {
            if (CheckExistedProvince(-1, provinceName)) return false;

            var o = new Province {ProvinceName = provinceName, SectionId = sectionId};
            db.Provinces.InsertOnSubmit(o);
            db.SubmitChanges();
            return true;
        }
        catch
        {
            return false;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["pvi"]))
            {
                var oProvince = new Province();
                var oDistrict = new District();
                var dv = oProvince.ProvinceSelectOne(Request.QueryString["pvi"]).DefaultView;
                var dv2 = oDistrict.DistrictSelectOne(Request.QueryString["dsi"]).DefaultView;

                lblThanhPhoQuan.Text = dv[0]["ProvinceNameEn"].ToString() + " - " + dv2[0]["DistrictNameEn"].ToString();

            }
        }
    }
Beispiel #29
0
 public ActionResult Add(Province e)
 {
     ActionResult ar = null;
     try {
         this.BeforeAddData(e, ref ar);
         if (ar == null) {
             this.Service.Add(e);
             e = this.Service.FindById(e.Id);
             //ar = this.Json(new AjaxOperationResult { Data = e, Successful = true });
             this.AfterAddData(e, ref ar);
         }
     } catch (Exception ex) {
         ar = this.Json(new AjaxOperationResult { Successful = false, Message = ex.Message });
     }
     return ar;
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["pvi"]))
            {
                var oProvince = new Province();
                var dv = oProvince.ProvinceSelectOne(Request.QueryString["pvi"]).DefaultView;

                if (dv != null && dv.Count <= 0) return;
                var row = dv[0];

                lblThanhPho.Text = Server.HtmlDecode(row["ProvinceName"].ToString());

            }
        }
    }
        private void CreateProvinces(int numProvinces, Color testColor, List <Point> pts, int w, int h, LockBitmap provinces, bool bSea)
        {
            Regions.Clear();
            int numPoints = numProvinces * 50;

            if (bSea)
            {
                numPoints = numProvinces * 50;
            }

            #region GenerateRandomPoints

            var             points  = new List <TerritoryPoint>();
            var             usePts  = new HashSet <Point>(pts);
            List <Vector2f> vpoints = new List <Vector2f>();
            HashSet <Point> done    = new HashSet <Point>();
            // int numSeaPoints = numPoints / 140;
            int numSeaPoints = numPoints / 340;
            for (int n = 0; n < numPoints; n++)
            {
                Point newPoint  = Point.Empty;
                bool  duplicate = true;



                {
                    int nn = Rand.Next(pts.Count);
                    newPoint = pts[nn];

                    //   pts.RemoveAt(nn);

                    /*
                     *                  foreach (TerritoryPoint p in points)
                     *                      if (p.Position.X == newPoint.Position.X && p.Position.Y == newPoint.Position.Y)
                     *                      {
                     *                          duplicate = true;
                     *                          break;
                     *                      }*/
                }


                {
                    vpoints.Add(new Vector2f(newPoint.X, newPoint.Y));
                }
            }
            points.Clear();
            int vorStrength = 0;
            if (pts.Count > 150)
            {
                vorStrength += 2;
            }
            Voronoi v      = new Voronoi(vpoints, new Rectf(0, 0, w, h), 0);
            var     coords = v.SiteCoords();
            coords = coords.Where(c => usePts.Contains(new Point((int)c.x, (int)c.y))).ToList();
            for (int n = 0; n < coords.Count; n++)
            {
                TerritoryPoint newPoint  = null;
                bool           duplicate = true;

                newPoint = new TerritoryPoint((int)coords[n].x, (int)coords[n].y);

                if (newPoint != null)
                {
                    points.Add(newPoint);
                }
            }

            #endregion

            if (points.Count == 0)
            {
                points.Add(new TerritoryPoint()
                {
                    Position = usePts.OrderBy(o => Rand.Next(1000000)).First()
                });
            }

            #region GenerateTerritories

            var colours    = new List <Color>();
            var origPoints = new List <TerritoryPoint>(points);
            for (int n = 0; n < numProvinces; n++)
            {
                TerritoryPoint initialPoint = null;
                int            i            = 0;//rand.Next(points.Count());
                while (initialPoint == null)
                {
                    i            = Rand.Next(origPoints.Count());
                    initialPoint = origPoints[i];
                    if (initialPoint.Owner != -1)
                    {
                        initialPoint = null;
                    }
                    else
                    {
                        i = points.IndexOf(initialPoint);
                    }
                }
                bool requireSea = false;
                if (initialPoint.Sea)
                {
                    requireSea = true;
                }
                foreach (TerritoryPoint p in points)
                {
                    int dx = p.Position.X - initialPoint.Position.X;
                    int dy = p.Position.Y - initialPoint.Position.Y;
                    p.Distance = (float)Math.Sqrt(dx * dx + dy * dy);
                }

                points.Sort(SortByDistance);

                int c = 0;

                for (c = 0; c < Math.Min(maxPointsPerTerritory, points.Count); c++)
                {
                    if (points[c].Owner != -1)
                    {
                        break;
                    }
                }

                int owner = n + totalGeneratedProvinces;
                while ((colorMap[owner + 1].G == 0 && colorMap[owner + 1].B == 0) || colorMap[owner + 1] == Color.FromArgb(255, 69, 91, 186) || colorMap[owner + 1] == Color.FromArgb(255, 130, 158, 75) || colorProvinceMap.ContainsKey(colorMap[owner + 1]))
                {
                    owner = n + (++totalGeneratedProvinces);
                }


                // if (c >= minPointsPerTerritory)// || i >= seaStart)
                {
                    for (int c2 = 0; c2 < c; c2++)
                    {
                        if (points[c2].Owner == -1)
                        {
                            points[c2].Owner = owner;
                            origPoints.Remove(points[c2]);
                            AddPointToRegion(points[c2]);
                        }
                    }
                }

                totalGeneratedProvinces++;
            }

            #endregion

            #region GenerateBitmap
            foreach (var point in usePts)
            {
                int x = point.X;
                int y = point.Y;

                float          minDist = 1000000000;
                TerritoryPoint closest = null;

                List <TerritoryPoint> list = new List <TerritoryPoint>();

                bool found = false;

                int range = 1;
                while (!found)
                {
                    for (int xx = -range; xx <= range; xx++)
                    {
                        for (int yy = -range; yy <= range; yy++)
                        {
                            int gx = x / RegionGridSize;
                            int gy = y / RegionGridSize;

                            int tx = xx + gx;
                            int ty = yy + gy;

                            if (Regions.ContainsKey(new Point(tx, ty)))
                            {
                                var l = Regions[new Point(tx, ty)];

                                list.AddRange(l.Where(p => p.Owner != -1));
                            }
                        }
                    }

                    if (list.Count > 1)
                    {
                        break;
                    }

                    range++;
                }


                foreach (TerritoryPoint p in list)
                {
                    int dx = p.Position.X - x;
                    int dy = p.Position.Y - y;
                    p.Distance = (float)Math.Sqrt(dx * dx + dy * dy);

                    if (p.Owner != -1 && p.Distance < minDist)
                    {
                        closest = p;
                        minDist = p.Distance;
                    }
                }

                if (closest.Owner != -1)
                {
                    var col = colorMap[closest.Owner + 1];
                    if (!colorProvinceMap.ContainsKey(col))
                    {
                        var p = new Province();
                        p.Color = col;
                        p.isSea = bSea;
                        colorProvinceMap[col] = p;
                        this.provinces.Add(p);
                    }
                    colorProvinceMap[col].points.Add(new Point(x, y));
                    provinces.SetPixel(x, y, col);
                }
            }

            if (!bSea)
            {
                List <Point> choices = new List <Point>();
                var          pt      = usePts.OrderBy(o => Rand.Next(10000000));
                for (int nn = 0; nn < 2; nn++)
                {
                    foreach (var point in pt)
                    {
                        int x = point.X;
                        int y = point.Y;

                        Color use = provinces.GetPixel(x, y);
                        choices.Clear();
                        for (int xx = -1; xx <= 1; xx++)
                        {
                            for (int yy = -1; yy <= 1; yy++)
                            {
                                if (xx == 0 && yy == 0)
                                {
                                    continue;
                                }

                                Color test = provinces.GetPixel(x + xx, y + yy);
                                var   p    = new Point(x + xx, y + yy);
                                if (test != use)
                                {
                                    if (usePts.Contains(p))
                                    {
                                        choices.Add(p);
                                    }
                                }
                            }
                        }

                        if (choices.Count == 1)
                        {
                            Point p = choices[Rand.Next(choices.Count)];
                            colorProvinceMap[provinces.GetPixel(p.X, p.Y)].points.Remove(p);
                            provinces.SetPixel(p.X, p.Y, use);
                            colorProvinceMap[use].points.Add(p);
                        }
                    }
                }

                List <Color> choicesc = new List <Color>();
                foreach (var point in pt)
                {
                    int x = point.X;
                    int y = point.Y;

                    Color use = provinces.GetPixel(x, y);
                    choicesc.Clear();
                    for (int xx = -1; xx <= 1; xx++)
                    {
                        for (int yy = -1; yy <= 1; yy++)
                        {
                            if (xx == 0 && yy == 0)
                            {
                                continue;
                            }

                            Color test = provinces.GetPixel(x + xx, y + yy);
                            var   p    = new Point(x + xx, y + yy);
                            if (test != use)
                            {
                                if (usePts.Contains(p))
                                {
                                    choicesc.Add(test);
                                }
                            }
                        }
                    }

                    if (choices.Count >= 7)
                    {
                        Color p = choicesc[Rand.Next(choicesc.Count)];
                        colorProvinceMap[provinces.GetPixel(x, y)].points.Remove(new Point(x, y));
                        provinces.SetPixel(x, y, p);
                        colorProvinceMap[p].points.Add(new Point(x, y));
                    }
                }
            }

            #endregion
        }
Beispiel #32
0
        private void AddTourData()
        {
            if (!_context.PostCategories.Any())
            {
                for (int i = 0; i < 7; i++)
                {
                    _context.PostCategories.Add(new PostCategory
                    {
                        Id   = postCategoriesIds[i],
                        Name = "Category_" + i,
                    });
                }

                _context.SaveChanges();
            }

            if (!_context.Posts.Any())
            {
                var json    = File.ReadAllText(@"./DataSample/post.json");
                var objects = JArray.Parse(json); // parse as array
                var i       = 0;
                foreach (var jToken in objects)
                {
                    var root = (JObject)jToken;
                    var post = new Post
                    {
                        Id              = postIds[i],
                        Alias           = "Post description " + i,
                        Censorship      = true,
                        MetaDescription = "Post Meta description " + i,
                        MetaKeyWord     = "Post Meta description " + i,
                        Image           = "post_" + i + ".jpg",
                        Status          = true,
                        Deleted         = false,
                        PostCategoryId  = postCategoriesIds[i],
                    };

                    foreach (KeyValuePair <string, JToken> app in root)
                    {
                        switch (app.Key)
                        {
                        case "Name":
                            post.Name = app.Value.ToString();
                            break;

                        case "PostContent":
                            post.Description = app.Value.ToString();
                            break;

                        case "Description":
                            post.PostContent = app.Value.ToString();
                            break;
                        }
                    }
                    _context.Posts.Add(post);
                    i++;
                }
                _context.SaveChanges();
            }
            if (!_context.Contacts.Any())
            {
                for (int i = 0; i < 10; i++)
                {
                    _context.Contacts.Add(new Contact
                    {
                        Id       = Guid.NewGuid(),
                        FullName = "Contact_" + i,
                        Email    = $"{i}[email protected]",
                        Address  = "Address " + i,
                        Phone    = "037489202" + i,
                        Title    = "Content Title Contact " + i
                    });
                }
                _context.SaveChanges();
            }

            if (!_context.Roles.Any())
            {
                _context.Roles.Add(new Role
                {
                    Id       = roleIds[0],
                    RoleName = "ADMIN"
                });
                _context.Roles.Add(new Role
                {
                    Id       = roleIds[1],
                    RoleName = "STAFF"
                });
                _context.Roles.Add(new Role
                {
                    Id       = roleIds[2],
                    RoleName = "USER"
                });

                _context.SaveChanges();
            }
            if (!_context.Accounts.Any())
            {
                for (int i = 0; i < 10; i++)
                {
                    _context.Accounts.Add(new Account
                    {
                        UserId   = "user_" + i,
                        Address  = "Da Nang",
                        Avatar   = "avatar_" + i,
                        BirthDay = DateTime.UtcNow,
                        Deleted  = false,
                        Email    = "user" + i + "@email.com",
                        Name     = "User " + i,
                        Password = "******",
                        Phone    = "0900014324",
                        RoleId   = roleIds[new Random().Next(0, 2)]
                    });
                }
            }

            if (!_context.Provinces.Any())
            {
                var json    = File.ReadAllText(@"./DataSample/province.json");
                var objects = JArray.Parse(json); // parse as array
                var i       = 0;
                foreach (var jToken in objects)
                {
                    var root     = (JObject)jToken;
                    var province = new Province
                    {
                        Id        = provinceIds[i],
                        Longitude = new Random().Next(100, 150),
                        Latitude  = new Random().Next(100, 200)
                    };

                    foreach (KeyValuePair <string, JToken> app in root)
                    {
                        switch (app.Key)
                        {
                        case "Name":
                            province.Name = app.Value.ToString();
                            break;
                        }
                    }
                    _context.Provinces.Add(province);
                    i++;
                }
                _context.SaveChanges();
            }
            if (!_context.TourCategories.Any())
            {
                var json    = File.ReadAllText(@"./DataSample/tourcate.json");
                var objects = JArray.Parse(json); // parse as array
                var i       = 0;
                foreach (var jToken in objects)
                {
                    var root     = (JObject)jToken;
                    var tourCate = new TourCategory()
                    {
                        Id    = tourCategoryIds[i],
                        Image = "tourCate_" + i + ".jpg"
                    };

                    foreach (KeyValuePair <string, JToken> app in root)
                    {
                        switch (app.Key)
                        {
                        case "Name":
                            tourCate.Name = app.Value.ToString();
                            break;

                        case "Description":
                            tourCate.Description = app.Value.ToString();
                            break;
                        }
                    }
                    _context.TourCategories.Add(tourCate);
                    i++;
                }
                _context.SaveChanges();
            }
            if (!_context.Tours.Any())
            {
                var json    = File.ReadAllText(@"./DataSample/tour.json");
                var objects = JArray.Parse(json); // parse as array
                var i       = 0;
                foreach (var jToken in objects)
                {
                    var root = (JObject)jToken;
                    var tour = new Tour
                    {
                        Id            = tourIds[i],
                        DepartureDate = DateTime.UtcNow.AddDays(new Random().Next(0, 10)),
                        Image         = "tour_" + (i + 1) + ".jpg",
                        Images        = "tour_" + (i + 1) + "_" + 1 + ".jpg|tour_" + (i + 1) + "_" + 2 + ".jpg|tour_" +
                                        (i + 1) + "_" + 3 + ".jpg",
                        Status         = true,
                        Censorship     = true,
                        Deleted        = false,
                        Slot           = new Random().Next(1, 20),
                        ViewCount      = new Random().Next(100, 1000),
                        DepartureId    = provinceIds[new Random().Next(0, 9)],
                        DestinationId  = provinceIds[new Random().Next(0, 9)],
                        TourCategoryId = tourCategoryIds[new Random().Next(0, 6)],
                    };

                    foreach (KeyValuePair <string, JToken> app in root)
                    {
                        switch (app.Key)
                        {
                        case "Name":
                            tour.Name = app.Value.ToString();
                            break;

                        case "Description":
                            tour.Description = app.Value.ToString();
                            break;
                        }
                    }
                    _context.Tours.Add(tour);
                    i++;
                }
                _context.SaveChanges();
            }
            if (!_context.Prices.Any())
            {
                var id = 0;
                tourIds.ForEach((x) =>
                {
                    var priceAdult = new Random().Next(300, 1000);
                    var i          = 0;
                    touristTypeIds.ForEach(y =>
                    {
                        if (i == 0)
                        {
                            _context.Prices.Add(new Price
                            {
                                Id             = Guid.NewGuid(),
                                Name           = "price_" + (id++),
                                PromotionPrice = priceAdult - new Random().Next(0, 50),
                                OriginalPrice  = priceAdult,
                                StartDatePro   = DateTime.UtcNow,
                                EndDatePro     = DateTime.UtcNow.AddDays(new Random().Next(2, 7)),
                                TourId         = x,
                                TouristType    = y,
                            });
                        }
                        else
                        {
                            var orginPrice = priceAdult - new Random().Next(0, 50);
                            _context.Prices.Add(new Price
                            {
                                Id             = Guid.NewGuid(),
                                Name           = "price_" + (id++),
                                PromotionPrice = orginPrice - new Random().Next(0, 50),
                                OriginalPrice  = orginPrice,
                                StartDatePro   = DateTime.UtcNow,
                                EndDatePro     = DateTime.UtcNow.AddDays(new Random().Next(2, 7)),
                                TourId         = x,
                                TouristType    = y,
                            });
                        }

                        i++;
                    });
                });
                _context.SaveChanges();
            }
            if (!_context.TourBookings.Any())
            {
                for (int i = 0; i < 50; i++)
                {
                    _context.TourBookings.Add(entity: new TourBooking
                    {
                        Id       = tourBookingIds[i],
                        FullName = "TourBooking_" + i,
                        Email    = $"{i}[email protected]",
                        Address  = "Address_" + i,
                        Mobile   = "037489202" + i,
                        Note     = "Note " + i,
                        Status   = i % 2 == 0,
                        Deleted  = false,
                        UserId   = "user_" + (new Random().Next(0, 10)),
                        TourId   = tourIds[new Random().Next(0, 37)]
                    });
                }
                _context.SaveChanges();
            }

            if (!_context.TourCustomers.Any())
            {
                var id = 0;
                tourBookingIds.ForEach((x) =>
                {
                    touristTypeIds.ForEach(y =>
                    {
                        _context.TourCustomers.Add(new TourCustomer
                        {
                            Id            = Guid.NewGuid(),
                            FullName      = "Tony Nguyen " + id,
                            BirthDay      = DateTime.Now.AddDays(id),
                            Gender        = id % 2 == 0 ? Gender.Male : Gender.Female,
                            TourBookingId = x,
                            TouristType   = y,
                        });
                        _context.BookingPrices.Add(entity: new BookingPrice
                        {
                            Id            = Guid.NewGuid(),
                            TourBookingId = x,
                            TouristType   = y,
                            Price         = new Random().Next(100, 1000)
                        });
                        id++;
                    });
                });
                _context.SaveChanges();
            }

            if (!_context.TourPrograms.Any())
            {
                tourIds.ForEach((x) =>
                {
                    var tour = _context.Tours.Find(x);
                    for (var j = 0; j < 3; j++)
                    {
                        _context.TourPrograms.Add(new TourProgram
                        {
                            Id          = Guid.NewGuid(),
                            Date        = tour.DepartureDate.AddDays(j),
                            OrderNumber = 1 + j,
                            TourId      = x,
                        });
                    }
                });
                _context.SaveChanges();
                var tourprograms = _context.TourPrograms.ToList();
                var json         = File.ReadAllText(@"./DataSample/tourprogram.json");
                var objects      = JArray.Parse(json); // parse as array
                var lengthObject = objects.Count;
                var i            = 0;
                foreach (var jToken in objects)
                {
                    if (i < lengthObject)
                    {
                        var root        = (JObject)jToken;
                        var tourProgram = tourprograms[i];

                        foreach (KeyValuePair <string, JToken> app in root)
                        {
                            switch (app.Key)
                            {
                            case "Title":
                                tourProgram.Title = app.Value.ToString();
                                break;

                            case "Description":
                                tourProgram.Description = app.Value.ToString();
                                break;

                            case "Destination":
                                tourProgram.Destination = app.Value.ToString();
                                break;
                            }
                        }
                        i++;
                    }
                }
                _context.SaveChanges();
            }
            if (!_context.Evaluations.Any())
            {
                foreach (var tourId in tourIds)
                {
                    _context.Evaluations.Add(new Evaluation
                    {
                        Id        = Guid.NewGuid(),
                        OneStar   = new Random().Next(1, 2000),
                        TwoStar   = new Random().Next(1, 2000),
                        ThreeStar = new Random().Next(1, 2000),
                        FourStar  = new Random().Next(1, 2000),
                        FiveStar  = new Random().Next(1, 2000),
                        TourId    = tourId,
                    });
                }
                _context.SaveChanges();
            }
            if (!_context.Banners.Any())
            {
                for (int i = 0; i < 4; i++)
                {
                    _context.Banners.Add(new Banner
                    {
                        Id          = Guid.NewGuid(),
                        Name        = "Bander_" + i,
                        Image       = "banner_" + i + ".jpg",
                        Description = @"Lorem ipsum dolor seit amet Nulla quis sem at nibh elemn",
                        PostId      = postIds[i],
                        Censorship  = true
                    });
                }
                _context.SaveChanges();
            }
        }
Beispiel #33
0
        public void GetAdsByEmail_ReturnListOfAds_WithUserAndCategoryFetched()
        {
            ISessionFactory sessionFactory = NhibernateHelper.SessionFactory;
            AdRepository    adRepo         = new AdRepository(sessionFactory);
            Repository      repo           = new Repository(sessionFactory);

            using (ITransaction transaction = sessionFactory.GetCurrentSession().BeginTransaction())
            {
                #region test data
                Province p1 = new Province
                {
                    Label = "p1"
                };

                User u = new User
                {
                    Email    = "*****@*****.**",
                    Password = "******"
                };
                repo.Save <User>(u);

                User u2 = new User
                {
                    Email    = "*****@*****.**",
                    Password = "******"
                };
                repo.Save <User>(u2);

                City c = new City
                {
                    Label        = "city",
                    LabelUrlPart = "city",
                };
                p1.AddCity(c);

                Category cat = new Category
                {
                    Label        = "Informatique",
                    LabelUrlPart = "Informatique",
                    Type         = AdTypeEnum.Ad
                };

                Category cat2 = new Category
                {
                    Label        = "Voiture",
                    LabelUrlPart = "Voiture",
                    Type         = AdTypeEnum.Ad
                };



                Ad a = new Ad
                {
                    Title        = "video game",
                    Body         = "the best!!",
                    CreatedBy    = u,
                    CreationDate = new DateTime(2012, 01, 16, 23, 52, 18),
                    Category     = cat,
                    IsDeleted    = false,
                    IsActivated  = true
                };

                Ad a2 = new Ad
                {
                    Title        = "Ferrari F430",
                    Body         = "Valab'",
                    CreatedBy    = u,
                    CreationDate = new DateTime(2012, 01, 16, 23, 52, 18),
                    Category     = cat2,
                    IsDeleted    = false,
                    IsActivated  = true
                };

                Ad a3 = new Ad
                {
                    Title        = "Ferrari F430",
                    Body         = "Valab'",
                    CreatedBy    = u2,
                    CreationDate = new DateTime(2012, 01, 16, 23, 52, 18),
                    Category     = cat2,
                    IsDeleted    = false,
                    IsActivated  = true
                };
                c.AddAd(a);
                c.AddAd(a2);
                c.AddAd(a3);
                cat.AddAd(a);
                cat2.AddAd(a2);
                cat2.AddAd(a3);
                repo.Save <Province>(p1);
                repo.Save <City>(c);
                repo.Save <Category>(cat);
                repo.Save <Category>(cat2);
                repo.Save <Ad, long>(a);
                repo.Save <Ad, long>(a2);
                repo.Save <Ad, long>(a3);
                repo.Flush();
                #endregion

                List <BaseAd> adsUser1 = adRepo.GetAdsByEmail(u.Email).ToList();
                List <BaseAd> adsUser2 = adRepo.GetAdsByEmail(u2.Email).ToList();
                Assert.AreEqual(2, adsUser1.Count);
                Assert.AreEqual(u.Email, adsUser1[0].CreatedBy.Email);
                Assert.AreEqual(1, adsUser2.Count);
                Assert.AreEqual(u2.Email, adsUser2[0].CreatedBy.Email);
            }
        }
        public async Task <ICommandResult> Handle(LocationRemoveCommand mesage)
        {
            try
            {
                ICommandResult result;
                Province       province = new Province();
                province.Remove(mesage);

                #region CheckExits

                if (mesage.TypeLocation == 1)
                {
                    var location = await _locationService.GetProvinceById(mesage.ProvinceId);

                    if (location == null)
                    {
                        result = new CommandResult()
                        {
                            Message      = "Province not found",
                            ObjectId     = "",
                            Status       = CommandResult.StatusEnum.Fail,
                            ResourceName = ResourceKey.Location_NotFound
                        };
                        return(result);
                    }
                    await _locationService.ChangeProvinceStatus(mesage.ProvinceId, province.Status, province.UpdatedUid, province.UpdatedDateUtc);
                }
                if (mesage.TypeLocation == 2)
                {
                    var location = await _locationService.GetDistrictById(mesage.DistricId);

                    if (location == null)
                    {
                        result = new CommandResult()
                        {
                            Message      = "District not found",
                            ObjectId     = "",
                            Status       = CommandResult.StatusEnum.Fail,
                            ResourceName = ResourceKey.Location_NotFound
                        };
                        return(result);
                    }
                    await _locationService.ChangeDistrictStatus(mesage.DistricId, province.Status, province.UpdatedUid, province.UpdatedDateUtc);
                }
                if (mesage.TypeLocation == 3)
                {
                    var location = await _locationService.GetWardById(mesage.WardId);

                    if (location == null)
                    {
                        result = new CommandResult()
                        {
                            Message      = "Ward not found",
                            ObjectId     = "",
                            Status       = CommandResult.StatusEnum.Fail,
                            ResourceName = ResourceKey.Location_NotFound
                        };
                        return(result);
                    }
                    await _locationService.ChangeWardStatus(mesage.WardId, province.Status, province.UpdatedUid, province.UpdatedDateUtc);
                }
                if (mesage.TypeLocation == 4)
                {
                    var location = await _locationService.GetStreetById(mesage.StreetId);

                    if (location == null)
                    {
                        result = new CommandResult()
                        {
                            Message      = "Ward not found",
                            ObjectId     = "",
                            Status       = CommandResult.StatusEnum.Fail,
                            ResourceName = ResourceKey.Location_NotFound
                        };
                        return(result);
                    }
                    await _locationService.ChangeStreetStatus(mesage.StreetId, province.Status, province.UpdatedUid, province.UpdatedDateUtc);
                }

                #endregion

                //await _eventSender.Notify(banner.Events);
                result = new CommandResult()
                {
                    Message  = "",
                    ObjectId = province.Id,
                    Status   = CommandResult.StatusEnum.Sucess
                };
                return(result);
            }
            catch (Exception e)
            {
                e.Data["Param"] = mesage;
                ICommandResult result = new CommandResult()
                {
                    Message = e.Message,
                    Status  = CommandResult.StatusEnum.Fail
                };
                return(result);
            }
        }
 public int GenerateCode(Province province)
 {
     return(DB.Districts.Count() + 1);
 }
Beispiel #36
0
        private void BtnRegister_Click(object sender, EventArgs e)
        {
            string age    = txtAge.Text.Trim();
            string url    = txtUrl.Text.Trim();
            string gender = string.Empty;

            if (age == "")
            {
                MessageBox.Show("年龄不能为空");
                return;
            }
            if (rdoNan.Checked)
            {
                gender = "男";
            }
            else
            {
                gender = "女";
            }
            if (url == "")
            {
                MessageBox.Show("Url不能为空!");
            }
            string u = @"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&$%\$#\=~])*$";
            Regex  x = new Regex(u);
            Match  m = x.Match(url);

            if (!m.Success)
            {
                MessageBox.Show("您的Url格式不正确请重新输入!");
                return;
            }
            ;
            string   pro  = comProvince.Text.Trim();
            Province a    = db.Provinces.SingleOrDefault(p => p.name == pro);
            string   city = comCity.Text.Trim();
            Province b    = db.Provinces.SingleOrDefault(p => p.name == city);
            var      user = db.Users.Find(id);

            user.Age        = int.Parse(age);
            user.Gender     = gender;
            user.ProvinceId = a.id;
            user.CityId     = b.id;



            FileStream   fs = new FileStream(str, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);

            byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));//转成二进制数据的操作

            var    path    = this.GetType().Assembly.Location;
            string paths   = path.Replace("bin\\Debug\\UserWinform.exe", "");
            string fileUrl = Guid.NewGuid().ToString() + ".png";
            string url1    = paths + @"\wwwroot\Image\" + fileUrl;

            System.IO.File.WriteAllBytes(url1, imgBytesIn);
            string urlPath = url1.Replace(paths, "");  //转换成相对路径

            user.Image = urlPath;
            user.Url   = url;
            if (user != null)
            {
                db.SaveChanges();
                MessageBox.Show("完成");
            }
        }
Beispiel #37
0
 public void GetCities(Province province)
 {
     _form.Cities = _cityRepo.GetWhereProvince(province);
 }
Beispiel #38
0
        private void TriangulateCell(Voxel a, Voxel b, Voxel c, Voxel d, Province analyzingState)
        {
            //bool isBorder = isBorderCell(a, b, c, d);
            int cellType = 0;

            if (a.getState() == analyzingState)
            {
                cellType |= 1;
            }
            if (b.getState() == analyzingState)
            {
                cellType |= 2;
            }
            if (c.getState() == analyzingState)
            {
                cellType |= 4;
            }
            if (d.getState() == analyzingState)
            {
                cellType |= 8;
            }
            switch (cellType)
            {
            case 0:
                return;

            case 1:
                mesh.AddTriangle(a.getPosition(), a.getYEdgePosition(), a.getXEdgePosition());

                if (a.getState() != b.getState() && a.getState() != c.getState() && a.getState() != d.getState() &&
                    b.getState() != c.getState() && b.getState() != d.getState() &&
                    c.getState() != d.getState()
                    )    //&& c.getColor() == analyzingColor)
                {
                    var centre = new Vector2(a.getXEdgePosition().x, a.getYEdgePosition().y);
                    mesh.AddTriangle(a.getYEdgePosition(), centre, a.getXEdgePosition());
                    //AddQuad(mesh, a.getYEdgePosition(), c.getXEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(c.getState(), a.getYEdgePosition(), centre);
                    findBorderMeshAndAdd(b.getState(), centre, a.getXEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(d.getState(), a.getYEdgePosition(), a.getXEdgePosition());
                }

                break;

            case 2:
                mesh.AddTriangle(b.getPosition(), a.getXEdgePosition(), b.getYEdgePosition());
                if (a.getState() != b.getState() && a.getState() != c.getState() && a.getState() != d.getState() &&
                    b.getState() != c.getState() && b.getState() != d.getState() &&
                    c.getState() != d.getState()
                    )   //&& c.getColor() == analyzingColor)
                {
                    var centre = new Vector2(a.getXEdgePosition().x, a.getYEdgePosition().y);
                    mesh.AddTriangle(a.getXEdgePosition(), centre, b.getYEdgePosition());
                    findBorderMeshAndAdd(a.getState(), a.getXEdgePosition(), centre);
                    findBorderMeshAndAdd(d.getState(), centre, b.getYEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(c.getState(), a.getXEdgePosition(), b.getYEdgePosition());
                }

                break;

            case 3:
                mesh.AddQuad(a.getPosition(), a.getYEdgePosition(), b.getYEdgePosition(), b.getPosition());
                if (is3ColorCornerDown(a, b, c, d) && b.getState() == analyzingState)
                {
                    mesh.AddTriangle(b.getYEdgePosition(), a.getYEdgePosition(), c.getXEdgePosition());
                    findBorderMeshAndAdd(c.getState(), a.getYEdgePosition(), c.getXEdgePosition());
                    findBorderMeshAndAdd(d.getState(), c.getXEdgePosition(), b.getYEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(c.getState(), a.getYEdgePosition(), b.getYEdgePosition());
                }

                break;

            case 4:
                mesh.AddTriangle(c.getPosition(), c.getXEdgePosition(), a.getYEdgePosition());
                if (a.getState() != b.getState() && a.getState() != c.getState() && a.getState() != d.getState() &&
                    b.getState() != c.getState() && b.getState() != d.getState() &&
                    c.getState() != d.getState()
                    )   //&& a.getColor() == analyzingColor)
                {
                    var centre = new Vector2(a.getXEdgePosition().x, a.getYEdgePosition().y);
                    mesh.AddTriangle(c.getXEdgePosition(), centre, a.getYEdgePosition());
                    //AddQuad(mesh, a.getYEdgePosition(), c.getXEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(a.getState(), centre, a.getYEdgePosition());
                    findBorderMeshAndAdd(d.getState(), c.getXEdgePosition(), centre);
                }
                else
                {
                    findBorderMeshAndAdd(b.getState(), c.getXEdgePosition(), a.getYEdgePosition());
                }

                break;

            case 5:
                mesh.AddQuad(a.getPosition(), c.getPosition(), c.getXEdgePosition(), a.getXEdgePosition());

                if (is3ColorCornerLeft(a, b, c, d) && c.getState() == analyzingState)
                {
                    mesh.AddTriangle(c.getXEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(d.getState(), c.getXEdgePosition(), b.getYEdgePosition());
                    findBorderMeshAndAdd(b.getState(), b.getYEdgePosition(), a.getXEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(d.getState(), c.getXEdgePosition(), a.getXEdgePosition());
                }
                break;

            case 6:
                mesh.AddTriangle(b.getPosition(), a.getXEdgePosition(), b.getYEdgePosition());
                mesh.AddTriangle(c.getPosition(), c.getXEdgePosition(), a.getYEdgePosition());
                mesh.AddQuad(a.getXEdgePosition(), a.getYEdgePosition(), c.getXEdgePosition(), b.getYEdgePosition());

                findBorderMeshAndAdd(d.getState(), a.getXEdgePosition(), a.getYEdgePosition());
                findBorderMeshAndAdd(d.getState(), c.getXEdgePosition(), b.getYEdgePosition());
                break;

            case 7:
                mesh.AddPentagon(a.getPosition(), c.getPosition(), c.getXEdgePosition(), b.getYEdgePosition(), b.getPosition());
                findBorderMeshAndAdd(d.getState(), c.getXEdgePosition(), b.getYEdgePosition());

                break;

            case 8:
                mesh.AddTriangle(d.getPosition(), b.getYEdgePosition(), c.getXEdgePosition());
                if (a.getState() != b.getState() && a.getState() != c.getState() && a.getState() != d.getState() &&
                    b.getState() != c.getState() && b.getState() != d.getState() &&
                    c.getState() != d.getState()
                    )   //&& a.getColor() == analyzingColor)
                {
                    //AddQuad(mesh, a.getYEdgePosition(), c.getXEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());
                    var centre = new Vector2(a.getXEdgePosition().x, a.getYEdgePosition().y);
                    mesh.AddTriangle(c.getXEdgePosition(), b.getYEdgePosition(), centre);
                    //AddQuad(mesh, a.getYEdgePosition(), c.getXEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(b.getState(), b.getYEdgePosition(), centre);
                    findBorderMeshAndAdd(c.getState(), centre, c.getXEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(a.getState(), b.getYEdgePosition(), c.getXEdgePosition());
                }

                break;

            case 9:
                mesh.AddTriangle(a.getPosition(), a.getYEdgePosition(), a.getXEdgePosition());
                mesh.AddTriangle(d.getPosition(), b.getYEdgePosition(), c.getXEdgePosition());
                //duplicates quad in 6:
                //AddQuad(mesh, a.getXEdgePosition(), a.getYEdgePosition(), c.getXEdgePosition(), b.getYEdgePosition());
                findBorderMeshAndAdd(c.getState(), a.getYEdgePosition(), a.getXEdgePosition());
                findBorderMeshAndAdd(c.getState(), b.getYEdgePosition(), c.getXEdgePosition());
                break;

            case 10:
                mesh.AddQuad(a.getXEdgePosition(), c.getXEdgePosition(), d.getPosition(), b.getPosition());
                if (is3ColorCornerRight(a, b, c, d) && d.getState() == analyzingState)
                {
                    mesh.AddTriangle(a.getYEdgePosition(), c.getXEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(c.getState(), a.getYEdgePosition(), c.getXEdgePosition());
                    findBorderMeshAndAdd(a.getState(), a.getXEdgePosition(), a.getYEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(c.getState(), a.getXEdgePosition(), c.getXEdgePosition());
                }
                break;

            case 11:
                mesh.AddPentagon(b.getPosition(), a.getPosition(), a.getYEdgePosition(), c.getXEdgePosition(), d.getPosition());
                findBorderMeshAndAdd(c.getState(), a.getYEdgePosition(), c.getXEdgePosition());

                break;

            case 12:
                mesh.AddQuad(a.getYEdgePosition(), c.getPosition(), d.getPosition(), b.getYEdgePosition());
                if (is3ColorCornerUp(a, b, c, d) && c.getState() == analyzingState)
                {
                    mesh.AddTriangle(a.getYEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(b.getState(), b.getYEdgePosition(), a.getXEdgePosition());
                    findBorderMeshAndAdd(a.getState(), a.getXEdgePosition(), a.getYEdgePosition());
                }
                else
                {
                    findBorderMeshAndAdd(a.getState(), b.getYEdgePosition(), a.getYEdgePosition());
                }

                break;

            case 13:
                mesh.AddPentagon(c.getPosition(), d.getPosition(), b.getYEdgePosition(), a.getXEdgePosition(), a.getPosition());
                findBorderMeshAndAdd(b.getState(), b.getYEdgePosition(), a.getXEdgePosition());

                break;

            case 14:
                mesh.AddPentagon(d.getPosition(), b.getPosition(), a.getXEdgePosition(), a.getYEdgePosition(), c.getPosition());
                findBorderMeshAndAdd(a.getState(), a.getXEdgePosition(), a.getYEdgePosition());

                break;

            case 15:
                mesh.AddQuad(a.getPosition(), c.getPosition(), d.getPosition(), b.getPosition());
                //don't add borders here, it's inside mesh
                break;

            default:
                Debug.Log("Unexpected triangulation data");
                break;
            }
            //detecting 3 color connecting
            //if (is3ColorCornerUp(a, b, c, d) && a.getColor() == analyzingColor)
            //    AddTriangle(c.getXEdgePosition(), b.getYEdgePosition(), a.getYEdgePosition());

            //if (is3ColorCornerDown(a, b, c, d) && c.getColor() == analyzingColor)
            //    AddTriangle(b.getYEdgePosition(), a.getXEdgePosition(), a.getYEdgePosition());

            //if (is3ColorCornerLeft(a, b, c, d) && c.getColor() == analyzingColor)
            //    AddTriangle(c.getXEdgePosition(), b.getYEdgePosition(), a.getXEdgePosition());

            //if (is3ColorCornerRight(a, b, c, d) && d.getColor() == analyzingColor)
            //    AddTriangle(a.getYEdgePosition(), c.getXEdgePosition(), a.getXEdgePosition());
        }
Beispiel #39
0
    // IEnumerator checkField(int currentField){
    //  // Field field = Fields[currentField];


    // }
    //Set up the Game .
    IEnumerator setUp()
    {
        BuyOutCanvas.SetActive(false);
        ShopCanvas.SetActive(false);
        RollBtnCanvas.SetActive(false);
        LotteryCanvas.SetActive(false);
        players.Clear();
        field.Clear();
        dice.Clear();
        defaultField.Clear();
        DiceCanvas.Clear();


        inverseMoveTime  = 1f / moveTime;
        isOtherFinish    = true;
        isChangeFinished = false;

        foreach (GameObject g in GameObject.FindGameObjectsWithTag("Dice"))
        {
            dice.Add(g.GetComponent <Dice> ());
            DiceCanvas.Add(g);
            yield return(null);
        }
        foreach (GameObject g in GameObject.FindGameObjectsWithTag("Fields"))
        {
            field.Add(g.GetComponent <Field> ());
            yield return(null);
        }
        foreach (DefaultField g in FindObjectsOfType(typeof(DefaultField)) as DefaultField[])
        {
            defaultField.Add(g.GetComponent <DefaultField> ());
            yield return(null);
        }
        defaultField.Sort((a, b) => a.Id.CompareTo(b.Id));
        field.Sort((a, b) => a.Id.CompareTo(b.Id));

        List <Province> provinces = Province.Load();
        int             temp      = 0;
        int             zone      = 0;

        for (int i = 0; i < defaultField.Count; i++)
        {
            if (temp == 0)
            {
                zone++;
            }
            defaultField[i].name = provinces[i].name;
            defaultField[i].cost = provinces[i].cost;
            defaultField[i].zone = zone;
            defaultField[i].updateUI();
            temp = (temp + 1) % 8;
        }


        boardLength = field.Count;


        foreach (GameObject g in GameObject.FindGameObjectsWithTag("PlayerUI"))
        {
            g.SetActive(false);
            playerCanvas.Add(g);
        }
        playerCanvas.Sort((a, b) => a.GetComponent <PlayerUI>().id.CompareTo(b.GetComponent <PlayerUI>().id));

        for (int i = 0; i < playerCount; i++)
        {
            Debug.Log("player has been created");
            int cha = 1;
            if (i == 0)
            {
                cha = p1;
            }
            else if (i == 1)
            {
                cha = p2;;
            }
            else if (i == 2)
            {
                cha = p3;
            }
            else
            {
                cha = p4;
            }
            GameObject player = (GameObject)Instantiate(Resources.Load("Prefabs/Player/Player" + cha));
            player.tag  = "Players";
            player.name = "_Player " + (i + 1);           // Game ObjName

            players.Add(player.GetComponent <Player>());
            players[i].playerName = "Player " + (i + 1);
            players [i].id        = (i + 1);
            players [i].money     = startMoney;
            players [i].fieldId   = 1;
            players[i].ui         = playerCanvas[i].GetComponent <PlayerUI>();
            playerCanvas[i].SetActive(true);
            // players [i].playerCamera.enabled = false;

            //Move All player to Start Location
            players [i].transform.position = field [0].trans [i].position;
            yield return(null);
        }

        foreach (GameObject g in DiceCanvas)
        {
            g.SetActive(false);
        }

        globalMultiplyerText.text = "Global Multiplyer : " + globalMultiplyer.ToString();
        turnText.text             = "Turn Left : " + turn.ToString();
        isInitFinish = true;
    }
 public static void MappingProvince(this ProvinceDTO provinceDTO, Province province)
 {
     province.IdReion      = provinceDTO.IdReion;
     province.NameProvince = provinceDTO.NameProvince;
     province.IdProvince   = provinceDTO.IdProvince;
 }
Beispiel #41
0
 public void Set(Province province, List <Node> m_Connections)
 {
     this.province      = province;
     this.m_Connections = m_Connections;
 }
Beispiel #42
0
        public Province Get(int?Id)
        {
            Province province = myContext.Provinces.Where(x => x.Id == Id).SingleOrDefault();

            return(province);
        }
Beispiel #43
0
        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            // credit: http://stackoverflow.com/a/263416/677735
            unchecked // Overflow is fine, just wrap
            {
                int hash = 41;
                // Suitable nullity checks

                hash = hash * 59 + Id.GetHashCode();

                if (GivenName != null)
                {
                    hash = hash * 59 + GivenName.GetHashCode();
                }

                if (Surname != null)
                {
                    hash = hash * 59 + Surname.GetHashCode();
                }

                if (OrganizationName != null)
                {
                    hash = hash * 59 + OrganizationName.GetHashCode();
                }

                if (Role != null)
                {
                    hash = hash * 59 + Role.GetHashCode();
                }

                if (Notes != null)
                {
                    hash = hash * 59 + Notes.GetHashCode();
                }

                if (EmailAddress != null)
                {
                    hash = hash * 59 + EmailAddress.GetHashCode();
                }

                if (WorkPhoneNumber != null)
                {
                    hash = hash * 59 + WorkPhoneNumber.GetHashCode();
                }

                if (MobilePhoneNumber != null)
                {
                    hash = hash * 59 + MobilePhoneNumber.GetHashCode();
                }

                if (FaxPhoneNumber != null)
                {
                    hash = hash * 59 + FaxPhoneNumber.GetHashCode();
                }

                if (Address1 != null)
                {
                    hash = hash * 59 + Address1.GetHashCode();
                }

                if (Address2 != null)
                {
                    hash = hash * 59 + Address2.GetHashCode();
                }

                if (City != null)
                {
                    hash = hash * 59 + City.GetHashCode();
                }

                if (Province != null)
                {
                    hash = hash * 59 + Province.GetHashCode();
                }

                if (PostalCode != null)
                {
                    hash = hash * 59 + PostalCode.GetHashCode();
                }

                return(hash);
            }
        }
Beispiel #44
0
 private void CreateVoxel(int i, int x, int y, Province state)
 {
     voxels[i] = new Voxel(x, y, voxelSize, state);
 }
Beispiel #45
0
        public void OnAppStartup()
        {
            Database.SetInitializer <BitChangeSetManagerDbContext>(null);

            using (SqlConnection dbConnection = new SqlConnection(AppEnvironment.GetConfig <string>("BitChangeSetManagerDbConnectionString")))
            {
                using (BitChangeSetManagerDbContext dbContext = new BitChangeSetManagerDbContext(dbConnection))
                {
                    bool newDbCreated = dbContext.Database.CreateIfNotExists();

                    dbContext.Database.Initialize(force: true);

                    if (newDbCreated == false)
                    {
                        return;
                    }
                }
            }

            using (IDependencyResolver childResolver = DependencyManager.CreateChildDependencyResolver())
            {
                IUnitOfWork unitOfWork = childResolver.Resolve <IUnitOfWork>();

                using (unitOfWork.BeginWork())
                {
                    IBitChangeSetManagerRepository <User> usersRepository = childResolver.Resolve <IBitChangeSetManagerRepository <User> >();

                    string password = "******";

                    using (MD5 md5Hash = MD5.Create())
                    {
                        byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(password));

                        StringBuilder sBuilder = new StringBuilder();

                        foreach (byte d in data)
                        {
                            sBuilder.Append(d.ToString("x2"));
                        }

                        password = sBuilder.ToString();
                    }

                    byte[] userAvatar = Convert.FromBase64String("iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAAsTAAALEwEAmpwYAABCQWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTExLTIxVDE1OjI5OjI5WjwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTExLTIyVDEwOjQzOjIyKzA1OjMwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0xMS0yMlQxMDo0MzoyMiswNTozMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpGN0NCMjUzMzM1MjA2ODExODIyQURDNzU2MTc0RDdBNjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0xMS0yMlQwOTo0Mzo0NSswNTozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpGOENCMjUzMzM1MjA2ODExODIyQURDNzU2MTc0RDdBNjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0xMS0yMlQwOTo0Mzo0NSswNTozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MTA0ZTIwYzAtMmExMi00NzgzLWExMTYtYzg5NzE2MTZiOTY4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTExLTIyVDEwOjQzOjIyKzA1OjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+ZGVyaXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5jb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NzdmNTk0MjEtMWM0Ni00OGYzLWEwYzMtNjBjZWVhM2ZjNTE4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTExLTIyVDEwOjQzOjIyKzA1OjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjEwNGUyMGMwLTJhMTItNDc4My1hMTE2LWM4OTcxNjE2Yjk2ODwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDpGN0NCMjUzMzM1MjA2ODExODIyQURDNzU2MTc0RDdBNjwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOkY3Q0IyNTMzMzUyMDY4MTE4MjJBREM3NTYxNzREN0E2PC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDplNzFkYWVjOS1kMTA4LTExNzgtOTU1NC1jMDUwNTIwYjZmMzE8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzdmNTk0MjEtMWM0Ni00OGYzLWEwYzMtNjBjZWVhM2ZjNTE4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6RjdDQjI1MzMzNTIwNjgxMTgyMkFEQzc1NjE3NEQ3QTY8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI1NjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yNTY8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvH4Sk0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAJ79JREFUeNrsnXeYVeW5t++1y/QOM/QmfQAF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");

                    usersRepository.Add(new User {
                        UserName = "******", Password = password, Culture = BitCulture.EnUs, AvatarImage = userAvatar
                    });
                    usersRepository.Add(new User {
                        UserName = "******", Password = password, Culture = BitCulture.FaIr, AvatarImage = userAvatar
                    });
                    usersRepository.Add(new User {
                        UserName = "******", Password = password, Culture = BitCulture.EnUs, AvatarImage = userAvatar
                    });
                    usersRepository.Add(new User {
                        UserName = "******", Password = password, Culture = BitCulture.FaIr, AvatarImage = userAvatar
                    });

                    IBitChangeSetManagerRepository <Customer>                     customersRepository                     = childResolver.Resolve <IBitChangeSetManagerRepository <Customer> >();
                    IBitChangeSetManagerRepository <Delivery>                     deliveriesRepository                    = childResolver.Resolve <IBitChangeSetManagerRepository <Delivery> >();
                    IBitChangeSetManagerRepository <ChangeSet>                    changeSetsRepository                    = childResolver.Resolve <IBitChangeSetManagerRepository <ChangeSet> >();
                    IBitChangeSetManagerRepository <ChangeSetSeverity>            changeSetSeveritiesRepository           = childResolver.Resolve <IBitChangeSetManagerRepository <ChangeSetSeverity> >();
                    IBitChangeSetManagerRepository <ChangeSetDeliveryRequirement> changeSetDeliveryRequirementsRepository = childResolver.Resolve <IBitChangeSetManagerRepository <ChangeSetDeliveryRequirement> >();
                    IBitChangeSetManagerRepository <Province>                     provincesRepository                     = childResolver.Resolve <IBitChangeSetManagerRepository <Province> >();
                    IBitChangeSetManagerRepository <City>     citiesRepository    = childResolver.Resolve <IBitChangeSetManagerRepository <City> >();
                    IBitChangeSetManagerRepository <Constant> constantsRepository = childResolver.Resolve <IBitChangeSetManagerRepository <Constant> >();

                    Customer customer1 = new Customer {
                        Name = "Customer1"
                    };
                    Customer customer2 = new Customer {
                        Name = "Customer2"
                    };

                    customersRepository.AddRange(new[] { customer1, customer2 });

                    ChangeSetDeliveryRequirement changeSetDeliveryRequirement1 = new ChangeSetDeliveryRequirement {
                        Title = "Deliver to all developers"
                    };
                    ChangeSetDeliveryRequirement changeSetDeliveryRequirement2 = new ChangeSetDeliveryRequirement {
                        Title = "Deliver to technical manager"
                    };
                    ChangeSetDeliveryRequirement changeSetDeliveryRequirement3 = new ChangeSetDeliveryRequirement {
                        Title = "No specific delivery is required"
                    };

                    changeSetDeliveryRequirementsRepository.AddRange(new[] { changeSetDeliveryRequirement1, changeSetDeliveryRequirement2, changeSetDeliveryRequirement3 });

                    ChangeSetSeverity changeSetSeverity1 = new ChangeSetSeverity {
                        Title = "Low"
                    };
                    ChangeSetSeverity changeSetSeverity2 = new ChangeSetSeverity {
                        Title = "Medium"
                    };
                    ChangeSetSeverity changeSetSeverity3 = new ChangeSetSeverity {
                        Title = "High"
                    };

                    changeSetSeveritiesRepository.AddRange(new[] { changeSetSeverity1, changeSetSeverity2, changeSetSeverity3 });

                    ChangeSet changeSet1 = new ChangeSet {
                        AssociatedCommitUrl = "https://github.com/bitfoundation/bitframework", Description = "Desc1", Title = "ChangeSet1", DeliveryRequirementId = changeSetDeliveryRequirement1.Id, SeverityId = changeSetSeverity3.Id
                    };
                    ChangeSet changeSet2 = new ChangeSet {
                        AssociatedCommitUrl = "https://github.com/bitfoundation/bitframework", Description = "Desc2", Title = "ChangeSet2", DeliveryRequirementId = changeSetDeliveryRequirement1.Id, SeverityId = changeSetSeverity3.Id
                    };

                    changeSetsRepository.AddRange(new[] { changeSet1, changeSet2 });

                    Delivery delivery1 = new Delivery {
                        ChangeSetId = changeSet1.Id, CustomerId = customer1.Id, DeliveredOn = DateTimeProvider.GetCurrentUtcDateTime()
                    };
                    Delivery delivery2 = new Delivery {
                        ChangeSetId = changeSet1.Id, CustomerId = customer2.Id, DeliveredOn = DateTimeProvider.GetCurrentUtcDateTime()
                    };
                    Delivery delivery3 = new Delivery {
                        ChangeSetId = changeSet2.Id, CustomerId = customer1.Id, DeliveredOn = DateTimeProvider.GetCurrentUtcDateTime()
                    };

                    deliveriesRepository.AddRange(new[] { delivery1, delivery2, delivery3 });

                    Province province1 = new Province {
                        Name = "Province1"
                    };
                    Province province2 = new Province {
                        Name = "Province2"
                    };
                    Province province3 = new Province {
                        Name = "Province3"
                    };

                    provincesRepository.AddRange(new[] { province1, province2, province3 });

                    List <City> cities = new List <City>();

                    int num = 1;

                    foreach (Province province in new[] { province1, province2, province3 })
                    {
                        for (int i = 0; i < 100; i++)
                        {
                            cities.Add(new City {
                                Name = $"City{num}{i}", ProvinceId = province.Id
                            });
                        }

                        num++;
                    }

                    citiesRepository.AddRange(cities);

                    constantsRepository.AddRange(new[]
                    {
                        new Constant {
                            Name = "Ans_Yes", Title = "Yes"
                        },
                        new Constant {
                            Name = "Ans_No", Title = "No"
                        },
                        new Constant {
                            Name = "Gender_Man", Title = "Man"
                        },
                        new Constant {
                            Name = "Gender_Woman", Title = "Woman"
                        },
                        new Constant {
                            Name = "Gender_Other", Title = "Other"
                        }
                    });

                    unitOfWork.CommitWork();
                }
            }
        }
Beispiel #46
0
        public Province GetProvinceById(int?id)
        {
            Province province = db.Province.Find(id);

            return(province);
        }
        public ActionResult DistInd([Bind(Include = "Region,Province,District,Round,Measure")] requestfilter req)
        {
            Int16  Region;
            Int16  Province;
            Int16  District;
            Int16  Round;
            string Measure;

            Region   = req.Region;
            Province = req.Province;
            District = req.District;
            Round    = req.Round;
            Measure  = req.Measure;

            var data = _context.IndDistircts.Select
                           (x => new
            {
                Region       = x.Region,
                Province     = x.Province,
                District     = x.District,
                Year         = x.Year,
                Month        = x.Month,
                Round        = x.Round,
                ShorName     = x.ShortName,
                Indicator    = x.Indicator,
                Measure      = x.Measure,
                Numerator    = x.Numerator,
                Denominator  = x.Denominator,
                RegionId     = x.RegionId,
                ProvinceId   = x.ProvinceId,
                DistrictId   = x.DistrictId,
                RoundId      = x.RoundId,
                CampaignType = x.CampaignType,
                Form         = x.Form
            }
                           ).ToList();

            if (!Region.Equals(0) & !Province.Equals(0) & !District.Equals(0))
            {
                data = data.Where(m => m.RegionId.Equals(Region) & m.ProvinceId.Equals(Province) & m.DistrictId.Equals(District)).ToList();
            }

            else if (!Region.Equals(0) & !Province.Equals(0))
            {
                data = data.Where(m => m.RegionId.Equals(Region) & m.ProvinceId.Equals(Province)).ToList();
            }

            else if (!Region.Equals(0))
            {
                data = data.Where(m => m.RegionId.Equals(Region)).ToList();
            }


            if (!Round.Equals(0))
            {
                data = data.Where(m => m.RoundId.Equals(Round)).ToList();
            }


            ExcelEngine excelEngine = new ExcelEngine();

            IApplication application = excelEngine.Excel;

            application.DefaultVersion = ExcelVersion.Excel2013;

            IWorkbook workbook;

            workbook = application.Workbooks.Create(3);
            IWorksheet sheet = workbook.Worksheets[0];

            if (!data.Any())
            {
                return(HttpNotFound());
            }

            sheet.ImportData(data, 1, 1, true);

            sheet.Name = "Data";
            IWorksheet pivotSheet = workbook.Worksheets[1];

            pivotSheet.Name = "Percentage";

            IPivotCache cash_data = workbook.PivotCaches.Add(sheet[sheet.Range.AddressLocal]);
            //Adding calculated fields to cache.
            PivotCacheFieldImpl Result  = (cash_data as PivotCacheImpl).CacheFields.AddNewField("Result", "Numerator/Denominator");
            PivotCacheFieldImpl Result2 = (cash_data as PivotCacheImpl).CacheFields.AddNewField("Result2", "Numerator*1");

            //Percentage indicator - Pivot Table (Percentage)
            #region "Percentage Pivot Table"
            IPivotTable pivotTable = pivotSheet.PivotTables.Add("PivotTable1", pivotSheet["A5"], cash_data);

            IPivotField field = pivotTable.Fields["Result"];
            pivotTable.DataFields.Add(field, "%", PivotSubtotalTypes.Sum);

            pivotTable.Fields["Region"].Axis       = PivotAxisTypes.Page;
            pivotTable.Fields["Province"].Axis     = PivotAxisTypes.Page;
            pivotTable.Fields["District"].Axis     = PivotAxisTypes.Page;
            pivotTable.Fields["CampaignType"].Axis = PivotAxisTypes.Page;
            pivotTable.Fields["Round"].Axis        = PivotAxisTypes.Page;

            pivotTable.Fields["Year"].Axis    = PivotAxisTypes.Page;
            pivotTable.Fields["Month"].Axis   = PivotAxisTypes.Page;
            pivotTable.Fields["Measure"].Axis = PivotAxisTypes.Page;
            pivotTable.Fields["Form"].Axis    = PivotAxisTypes.Page;

            pivotTable.Fields["Indicator"].Axis = PivotAxisTypes.Row;


            IPivotField num   = pivotTable.Fields["Numerator"];
            IPivotField denom = pivotTable.Fields["Denominator"];
            if (Measure.Equals("1"))
            {
                pivotTable.Fields["Region"].Axis = PivotAxisTypes.Column;
                pivotSheet["A2"].Text            = "Indicators comparison by region";
            }
            else if (Measure.Equals("2"))
            {
                pivotTable.Fields["Province"].Axis = PivotAxisTypes.Column;
                pivotSheet["A2"].Text = "Indicators comparison by province";
            }
            else if (Measure.Equals("3"))
            {
                pivotTable.Fields["District"].Axis = PivotAxisTypes.Column;
                pivotSheet["A2"].Text = "Indicators comparison by district";
            }
            else if (Measure.Equals("4"))
            {
                pivotTable.Fields["Year"].Axis = PivotAxisTypes.Column;
                pivotSheet["A2"].Text          = "Indicators comparison by year";
            }
            else if (Measure.Equals("5"))
            {
                pivotTable.Fields["Year"].Axis  = PivotAxisTypes.Column;
                pivotTable.Fields["Month"].Axis = PivotAxisTypes.Column;
                pivotSheet["A2"].Text           = "Indicators comparison by month";

                IPivotField pivotField = pivotTable.Fields["Month"];
                pivotField.Sort(new string[12] {
                    "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
                });
            }

            pivotSheet.Range["A2"].CellStyle.Font.Size = 14f;
            pivotSheet.Range["A2"].CellStyle.Font.Bold = true;
            pivotSheet.Range["A3"].Text = "Date extracted: " + DateTime.Now.ToString();;
            pivotSheet.Range["A3"].CellStyle.Font.Size   = 10f;
            pivotSheet.Range["A3"].CellStyle.Font.Bold   = true;
            pivotSheet.Range["A3"].CellStyle.Font.Italic = true;


            pivotTable.Fields["Measure"].Axis = PivotAxisTypes.Page;
            IPivotField pageField = pivotTable.Fields["Measure"];
            pageField.Items[0].Visible = false;


            pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleDark7;
            pivotTable.ColumnGrand  = false;
            pivotTable.RowGrand     = false;
            PivotTableOptions pivotOption = pivotTable.Options as PivotTableOptions;
            pivotOption.ShowGridDropZone = true;
            IPivotTableOptions option = pivotTable.Options;
            option.ErrorString         = "NA";
            option.ColumnHeaderCaption = "CompareBy";
            option.RowHeaderCaption    = "Indicator";


            #endregion

            //Number indicator - Pivot Table (Numeric)
            #region "Numeric Pivot Table"

            IWorksheet pivotSheet2 = workbook.Worksheets[2];

            pivotSheet2.Name = "Numeric";
            IPivotTable pivotTable2 = pivotSheet2.PivotTables.Add("PivotTable2", pivotSheet["A5"], cash_data);


            IPivotField field2 = pivotTable2.Fields["Result2"];
            pivotTable2.DataFields.Add(field2, "#", PivotSubtotalTypes.Sum);

            pivotTable2.Fields["Region"].Axis       = PivotAxisTypes.Page;
            pivotTable2.Fields["Province"].Axis     = PivotAxisTypes.Page;
            pivotTable2.Fields["District"].Axis     = PivotAxisTypes.Page;
            pivotTable2.Fields["CampaignType"].Axis = PivotAxisTypes.Page;
            pivotTable2.Fields["Round"].Axis        = PivotAxisTypes.Page;
            pivotTable2.Fields["Year"].Axis         = PivotAxisTypes.Page;
            pivotTable2.Fields["Month"].Axis        = PivotAxisTypes.Page;

            pivotTable2.Fields["Form"].Axis = PivotAxisTypes.Page;

            pivotTable2.Fields["Indicator"].Axis = PivotAxisTypes.Row;


            IPivotField num2   = pivotTable2.Fields["Numerator"];
            IPivotField denom2 = pivotTable2.Fields["Denominator"];
            if (Measure.Equals("1"))
            {
                pivotTable2.Fields["Region"].Axis = PivotAxisTypes.Column;
                pivotSheet2["A2"].Text            = "Indicators comparison by region";
            }
            else if (Measure.Equals("2"))
            {
                pivotTable2.Fields["Province"].Axis = PivotAxisTypes.Column;
                pivotSheet2["A2"].Text = "Indicators comparison by province";
            }
            else if (Measure.Equals("3"))
            {
                pivotTable2.Fields["District"].Axis = PivotAxisTypes.Column;
                pivotSheet2["A2"].Text = "Indicators comparison by district";
            }
            else if (Measure.Equals("4"))
            {
                pivotTable2.Fields["Year"].Axis = PivotAxisTypes.Column;
                pivotSheet2["A2"].Text          = "Indicators comparison by year";
            }
            else if (Measure.Equals("5"))
            {
                pivotTable2.Fields["Year"].Axis  = PivotAxisTypes.Column;
                pivotTable2.Fields["Month"].Axis = PivotAxisTypes.Column;
                pivotSheet2["A2"].Text           = "Indicators comparison by month";
                IPivotField pivotField = pivotTable2.Fields["Month"];
                pivotField.Sort(new string[12] {
                    "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
                });
            }

            pivotSheet2.Range["A2"].CellStyle.Font.Size = 14f;
            pivotSheet2.Range["A2"].CellStyle.Font.Bold = true;
            pivotSheet2.Range["A3"].Text = "Date extracted: " + DateTime.Now.ToString();;
            pivotSheet2.Range["A3"].CellStyle.Font.Size   = 10f;
            pivotSheet2.Range["A3"].CellStyle.Font.Bold   = true;
            pivotSheet2.Range["A3"].CellStyle.Font.Italic = true;

            pivotTable2.Fields["Measure"].Axis = PivotAxisTypes.Page;
            IPivotField pageField2 = pivotTable2.Fields["Measure"];
            pageField2.Items[1].Visible = false;

            pivotTable2.BuiltInStyle = PivotBuiltInStyles.PivotStyleDark7;
            pivotTable2.ColumnGrand  = false;
            pivotTable2.RowGrand     = false;
            PivotTableOptions pivotOption2 = pivotTable2.Options as PivotTableOptions;
            pivotOption2.ShowGridDropZone = true;
            IPivotTableOptions option2 = pivotTable2.Options;
            option2.ErrorString         = "NA";
            option2.ColumnHeaderCaption = "CompareBy";
            option2.RowHeaderCaption    = "Indicator";

            pivotTable.Fields["Result"].NumberFormat   = "#.0%";
            pivotTable2.Fields["Result2"].NumberFormat = "#";

            (pivotTable.Options as PivotTableOptions).ShowGridDropZone  = true;
            (pivotTable2.Options as PivotTableOptions).ShowGridDropZone = true;
            (pivotTable as PivotTableImpl).Cache.IsRefreshOnLoad        = true;
            (pivotTable2 as PivotTableImpl).Cache.IsRefreshOnLoad       = true;

            pivotSheet2.Range["A5"].Activate();
            pivotSheet2.Activate();
            #endregion

            string ContentType = "Application/msexcel";
            string filename    = "Report_" + "donor" + "_" + DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day + ".xlsx";

            MemoryStream ms = new MemoryStream();
            workbook.SaveAs(ms);
            ms.Position = 0;
            workbook.Close();
            excelEngine.Dispose();
            return(File(ms, ContentType, filename));
        }
Beispiel #48
0
 public void UpdateProvince(Province province)
 {
     db.Entry(province).State = EntityState.Modified;
     db.SaveChanges();
 }
Beispiel #49
0
        /// <summary>
        /// Returns true if Contact instances are equal
        /// </summary>
        /// <param name="other">Instance of Contact to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(Contact other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Id == other.Id ||
                     Id.Equals(other.Id)
                     ) &&
                 (
                     GivenName == other.GivenName ||
                     GivenName != null &&
                     GivenName.Equals(other.GivenName)
                 ) &&
                 (
                     Surname == other.Surname ||
                     Surname != null &&
                     Surname.Equals(other.Surname)
                 ) &&
                 (
                     OrganizationName == other.OrganizationName ||
                     OrganizationName != null &&
                     OrganizationName.Equals(other.OrganizationName)
                 ) &&
                 (
                     Role == other.Role ||
                     Role != null &&
                     Role.Equals(other.Role)
                 ) &&
                 (
                     Notes == other.Notes ||
                     Notes != null &&
                     Notes.Equals(other.Notes)
                 ) &&
                 (
                     EmailAddress == other.EmailAddress ||
                     EmailAddress != null &&
                     EmailAddress.Equals(other.EmailAddress)
                 ) &&
                 (
                     WorkPhoneNumber == other.WorkPhoneNumber ||
                     WorkPhoneNumber != null &&
                     WorkPhoneNumber.Equals(other.WorkPhoneNumber)
                 ) &&
                 (
                     MobilePhoneNumber == other.MobilePhoneNumber ||
                     MobilePhoneNumber != null &&
                     MobilePhoneNumber.Equals(other.MobilePhoneNumber)
                 ) &&
                 (
                     FaxPhoneNumber == other.FaxPhoneNumber ||
                     FaxPhoneNumber != null &&
                     FaxPhoneNumber.Equals(other.FaxPhoneNumber)
                 ) &&
                 (
                     Address1 == other.Address1 ||
                     Address1 != null &&
                     Address1.Equals(other.Address1)
                 ) &&
                 (
                     Address2 == other.Address2 ||
                     Address2 != null &&
                     Address2.Equals(other.Address2)
                 ) &&
                 (
                     City == other.City ||
                     City != null &&
                     City.Equals(other.City)
                 ) &&
                 (
                     Province == other.Province ||
                     Province != null &&
                     Province.Equals(other.Province)
                 ) &&
                 (
                     PostalCode == other.PostalCode ||
                     PostalCode != null &&
                     PostalCode.Equals(other.PostalCode)
                 ));
        }
Beispiel #50
0
 private void comboBoxProvince_SelectionChangeCommitted(object sender, System.EventArgs e)
 {
     _province = (Province)comboBoxProvince.SelectedItem;
     _InitializeDistricts();
     textBoxCity.Text = String.Empty;
 }
 public static ProvinceModel ToModel(this Province entity)
 {
     return(new ProvinceModel {
         Id = entity.Id, Name = entity.Name, Country = entity.Country?.ToModel()
     });
 }
Beispiel #52
0
 public (IAction?, Province) Perform(Province province)
 {
     return(province.Id == From ? (Action, province.Subtract(Army.Soldiers)) : (null, province));
 }
Beispiel #53
0
        public void GetSpamRequestAd_AdNotSpam_ReturnTrue()
        {
            ISessionFactory sessionFactory = NhibernateHelper.SessionFactory;
            Repository      repo           = new Repository(sessionFactory);
            AdRepository    adRepo         = new AdRepository(sessionFactory);

            using (ITransaction transaction = sessionFactory.GetCurrentSession().BeginTransaction())
            {
                #region test data

                #region test data
                Province p1 = new Province
                {
                    Label = "p1"
                };

                User u = new User
                {
                    Email    = "*****@*****.**",
                    Password = "******"
                };
                repo.Save <User>(u);

                City c = new City
                {
                    Label        = "city",
                    LabelUrlPart = "city"
                };
                p1.AddCity(c);

                Category cat = new Category
                {
                    Label        = "Informatique",
                    LabelUrlPart = "Informatique",
                    Type         = AdTypeEnum.Ad
                };

                Ad a = new Ad
                {
                    Title        = "video game",
                    Body         = "the best!!",
                    CreatedBy    = u,
                    CreationDate = new DateTime(2012, 01, 16, 23, 52, 18),
                    Category     = cat,
                    IsDeleted    = false
                };
                c.AddAd(a);
                cat.AddAd(a);
                repo.Save <Province>(p1);
                repo.Save <City>(c);
                repo.Save <Category>(cat);
                long id = repo.Save <Ad, long>(a);

                #endregion

                SpamAdRequest adR = new SpamAdRequest(a);

                repo.Save(adR);

                repo.Flush();

                #endregion

                Assert.IsNull(adRepo.GetSpamRequestAd(999));
            }
        }
Beispiel #54
0
 void OnProvinceChange(int id)
 {
     province_select = Mall.GetInstance.provinceList.Find(p => p.PROVINCE_NAME == provinceText.text);
     StartCoroutine(ServiceRequest.instance.LoadDistrict(province_select.PROVINCE_ID));
 }
        public AddAddressFlyoutPageViewModel(IEventAggregator eventAggregator)
        {
            this._eventAggregator = eventAggregator;
            this.Model            = new Address();

            this.SaveAddressCommand = new DelegateCommand(() =>
            {
                this._eventAggregator.GetEvent <AddressEvent>().Publish(this.Model);
            });

            this.CancelAddressCommand = new DelegateCommand(() =>
            {
                this.Model = new Address();
                this._eventAggregator.GetEvent <AddressEvent>().Publish(this.Model);
            });

            this.PageLoadedCommand = new DelegateCommand(async() =>
            {
                try
                {
                    if (!this.Model.Countries.Any())
                    {
                        this.ProgressbarMessage   = "Loading Countries ....  ";
                        this.ProgressbarVisiblity = Visibility.Visible;
                        this.Model.Countries      = await SSProxyHelper.Instance.GetCountryRegionListFromSvcAsync();
                    }
                    this.ProgressbarVisiblity = Visibility.Collapsed;
                }
                catch (Exception ex)
                {
                    AppSettings.Instance.ErrorMessage = ex.Message;
                }
            });
            this.CountryChangedCommand = new DelegateCommand <object>(async(param) =>
            {
                try
                {
                    if (param != null && (param is Country))
                    {
                        Country country = param as Country;
                        if (this.Model.SelectedCountry != null)
                        {
                            this.ProgressbarMessage   = "Loading Provinces ....  ";
                            this.ProgressbarVisiblity = Visibility.Visible;
                            this.Model.Provinces      = await SSProxyHelper.Instance.GetProvinceListFromSvcAsync(country.Id);
                            this.ProgressbarVisiblity = Visibility.Collapsed;
                        }
                    }
                }
                catch (Exception ex)
                {
                    AppSettings.Instance.ErrorMessage = ex.Message;
                    this.ProgressbarMessage           = "";
                    this.ProgressbarVisiblity         = Visibility.Collapsed;
                }
            });

            this.ProvinceChangedCommand = new DelegateCommand <object>(async(param) =>
            {
                try
                {
                    if (param != null && (param is Province))
                    {
                        Province province = param as Province;
                        if (this.Model.SelectedProvince != null)
                        {
                            this.ProgressbarMessage   = "Loading Cities ....  ";
                            this.ProgressbarVisiblity = Visibility.Visible;
                            this.Model.Cities         = await SSProxyHelper.Instance.GetCityListFromSvcAsync(this.Model.SelectedCountry.Id, province.Id);
                            this.Model.Postcodes      = await SSProxyHelper.Instance.GetZipcodeListFromSvcAsync(this.Model.SelectedCountry.Id, province.Id);
                            this.ProgressbarVisiblity = Visibility.Collapsed;
                        }
                    }
                }
                catch (Exception ex)
                {
                    this.ProgressbarMessage           = "";
                    this.ProgressbarVisiblity         = Visibility.Collapsed;
                    AppSettings.Instance.ErrorMessage = ex.Message;
                }
            });

            this.CityChangedCommand = new DelegateCommand <object>(async(param) =>
            {
                try
                {
                    if (param != null && (param is City))
                    {
                        City city = param as City;
                        if (this.Model.SelectedCity != null && this.Model.SelectedProvince != null)
                        {
                            this.ProgressbarMessage   = "Loading Regions ....  ";
                            this.ProgressbarVisiblity = Visibility.Visible;
                            this.Model.Regions        = await SSProxyHelper.Instance.GetRegionListFromSvcAsync(this.Model.SelectedCountry.Id, this.Model.SelectedProvince.Id);
                            this.ProgressbarVisiblity = Visibility.Collapsed;
                            this.Model.SelectedCity   = city;
                        }
                    }
                }
                catch (Exception ex)
                {
                    AppSettings.Instance.ErrorMessage = ex.Message;
                    this.ProgressbarMessage           = "";
                    this.ProgressbarVisiblity         = Visibility.Collapsed;
                }
            });

            this.RegionChangedCommand = new DelegateCommand <object>(async(param) =>
            {
                try
                {
                    if (param != null && param is Region)
                    {
                        var region = param as Region;
                        if (this.Model.SelectedRegion != null && this.Model.SelectedProvince != null)
                        {
                            this.ProgressbarMessage   = "Loading Suburbs ....  ";
                            this.ProgressbarVisiblity = Visibility.Visible;
                            this.Model.Suburbs        = await SSProxyHelper.Instance.GetSuburbListFromSvcAsync(this.Model.SelectedCountry.Id, this.Model.SelectedProvince.Id);
                            this.ProgressbarVisiblity = Visibility.Collapsed;
                        }
                    }
                }
                catch (Exception ex)
                {
                    AppSettings.Instance.ErrorMessage = ex.Message;
                    this.ProgressbarMessage           = "";
                    this.ProgressbarVisiblity         = Visibility.Collapsed;
                }
            });

            this.SuburbChangedCommand = new DelegateCommand <object>((param) =>
            {
                try
                {
                    if (param != null && (param is Suburb))
                    {
                        Suburb suburb = param as Suburb;
                        if (!String.IsNullOrEmpty(suburb.Id))
                        {
                            this.Model.SelectedSuburb = suburb;
                        }
                    }
                }
                catch (Exception ex)
                {
                    AppSettings.Instance.ErrorMessage = ex.Message;
                }
            });

            this.ZipChangedCommand = new DelegateCommand <object>((param) =>
            {
                if (param != null && (param is string))
                {
                    if (!String.IsNullOrEmpty(param.ToString()))
                    {
                        this.Model.SelectedZip = param.ToString();
                    }
                }
            });
        }
Beispiel #56
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            //增加全局的Filter用于记录用户的Tracker
            GlobalFilters.Filters.Add(new UserTrackerLogAttribute());

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //从文件加载省份,城市,区域到数据库
            FCStoreDbContext db = new FCStoreDbContext();

            if (db.Province.Count() == 0)
            {
                //省份不存在
                string tmpFP = ConfigurationManager.AppSettings["PCTFilePath"];
                tmpFP = Server.MapPath(tmpFP);
                FileInfo tmpFI = new FileInfo(tmpFP);
                if (tmpFI.Exists)
                {
                    FileStream tmpFS  = tmpFI.OpenRead();
                    int        FLen   = (int)tmpFI.Length;
                    byte[]     buffer = new byte[FLen];
                    //格式:<Province><PName>北京</PName><PPC>22</PPC><CityArr><City><CName>北京市</CName><CPC>44</CPC><TownArr><TName>南山区</TName><TPC>66</TCP></TownArr></City></CityArr></Province>
                    if (tmpFS.Read(buffer, 0, FLen) > 0)
                    {
                        string          tmpStr    = Encoding.Unicode.GetString(buffer);
                        string          ProRgxStr = "<Province>\\s*?<PName>\\s*?(?<PName>\\w+?)\\s*?</PName>\\s*?<PPC>\\s*?(?<PPC>\\d+?)\\s*?</PPC>\\s*?<CityArr>\\s*?(?<PContent>.+?)\\s*?</CityArr>\\s*?</Province>";
                        Regex           ProRgx    = new Regex(ProRgxStr, RegexOptions.Singleline | RegexOptions.IgnoreCase);
                        MatchCollection tmpMC     = ProRgx.Matches(tmpStr);
                        foreach (Match tmpMatch in tmpMC)
                        {
                            Province tmpPro = new Province();
                            tmpPro.Name      = tmpMatch.Groups["PName"].Value;
                            tmpPro.PostCode1 = tmpMatch.Groups["PPC"].Value;
                            if (tmpPro.CityArr == null)
                            {
                                tmpPro.CityArr = new List <City>();
                            }
                            string          cityStr    = tmpMatch.Groups["PContent"].Value;
                            string          CityRgxStr = "<City>\\s*?<CName>\\s*?(?<CName>\\w+?)\\s*?</CName>\\s*?<CPC>\\s*?(?<CPC>\\d+?)\\s*?</CPC>\\s*?<TownArr>\\s*?(?<CContent>.+?)\\s*?</TownArr>\\s*?</City>";
                            Regex           cityRgx    = new Regex(CityRgxStr, RegexOptions.Singleline | RegexOptions.IgnoreCase);
                            MatchCollection tmpMC1     = cityRgx.Matches(cityStr);
                            foreach (Match tmpMatch1 in tmpMC1)
                            {
                                City tmpCity = new City();
                                tmpCity.Name      = tmpMatch1.Groups["CName"].Value;
                                tmpCity.PostCode2 = tmpMatch1.Groups["CPC"].Value;
                                if (tmpCity.TownArr == null)
                                {
                                    tmpCity.TownArr = new List <Town>();
                                }
                                string          townStr    = tmpMatch1.Groups["CContent"].Value;
                                string          TownRgxStr = "<Town>\\s*?<TName>\\s*?(?<TName>\\w+?)\\s*?</TName>\\s*?<TPC>\\s*?(?<TPC>\\d+?)\\s*?</TPC>\\s*?</Town>";
                                Regex           townRgx    = new Regex(TownRgxStr, RegexOptions.Singleline | RegexOptions.IgnoreCase);
                                MatchCollection tmpMC2     = townRgx.Matches(townStr);
                                foreach (Match tmpMatch2 in tmpMC2)
                                {
                                    Town tmpTown = new Town();
                                    tmpTown.Name      = tmpMatch2.Groups["TName"].Value;
                                    tmpTown.PostCode3 = tmpMatch2.Groups["TPC"].Value;
                                    tmpCity.TownArr.Add(tmpTown);
                                    db.Town.Add(tmpTown);
                                }
                                tmpPro.CityArr.Add(tmpCity);
                                db.City.Add(tmpCity);
                            }
                            db.Province.Add(tmpPro);
                        }
                        if (tmpMC.Count > 0)
                        {
                            db.SaveChanges();
                        }
                    }
                    tmpFS.Close();
                }
            }

            db.Dispose();

            //注册RouteDebug
            //RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
        }
        private void FixupProvinces(Color col, UnsafeQueueLinearFloodFiller filler, LockBitmap bmp)
        {
            HashSet <Color> done = new HashSet <Color>();
            var             pts  = new List <Point>(filler.pts);

            foreach (var point in pts)
            {
                Color test = bmp.GetPixel(point.X, point.Y);
                if (done.Contains(test))
                {
                    continue;
                }
                if (test.R == 0 && test.B == 0 && test.G == 0)
                {
                    continue;
                }

                Province p = colorProvinceMap[test];

                filler.FillColor = Color.White;
                filler.FloodFill(point);

                Color t = bmp.GetPixel(676, 1935);

                if (t != last)
                {
                }
                last = t;
                bool trimmed = false;

                int minX = 1000000;
                int minY = 1000000;
                int maxX = -1000000;
                int maxY = -1000000;

                foreach (var pt in filler.pts)
                {
                    if (pt.X < minX)
                    {
                        minX = pt.X;
                    }
                    if (pt.Y < minY)
                    {
                        minY = pt.Y;
                    }

                    if (pt.X > maxX)
                    {
                        maxX = pt.X;
                    }
                    if (pt.Y > maxY)
                    {
                        maxY = pt.Y;
                    }
                }

                bool tooSmall = false;

                if (maxX - minX < 16 || maxY - minY < 16)
                {
                    tooSmall = true;
                }

                if (filler.pts.Count < 100 || tooSmall)
                {
                    if (filler.pts.Count == p.points.Count)
                    {
                        done.Add(test);
                    }
                    Color newCol = FindBestNeighbour(filler.pts, test, true);
                    if (newCol == Color.White)
                    {
                        newCol = FindBestNeighbour(filler.pts, test, false);
                    }

                    if (newCol != Color.White)
                    {
                        filler.FillColor = newCol;
                        filler.FloodFill(point);
                        trimmed = true;
                        if (newCol.R == 0 && newCol.B == 0 && newCol.G == 0)
                        {
                            continue;
                        }

                        colorProvinceMap[newCol].points.AddRange(filler.pts);
                    }
                    else
                    {
                        //    filler.FillColor = Color.Black;
                        //   filler.FloodFill(point);
                        //   trimmed = true;
                    }
                    if (!trimmed)
                    {
                    }
                }

                if (!trimmed)
                {
                    if (filler.pts.Count == p.points.Count)
                    {
                        filler.FillColor = test;
                        filler.FloodFill(point);
                        done.Add(test);

                        t = bmp.GetPixel(676, 1935);

                        if (t != last)
                        {
                        }
                        last = t;
                    }
                    else
                    {
                        Province pNew = new Province();
                        pNew.AreaColor = col;
                        do
                        {
                            pNew.Color = colorMap[totalGeneratedProvinces++];
                        } while ((pNew.Color.G == 0 && pNew.Color.B == 0) || pNew.Color == Color.FromArgb(255, 69, 91, 186) || pNew.Color == Color.FromArgb(255, 130, 158, 75) || colorProvinceMap.ContainsKey(pNew.Color));

                        filler.FillColor = pNew.Color;
                        filler.FloodFill(point);
                        t = bmp.GetPixel(676, 1935);

                        if (t != last)
                        {
                        }
                        last = t;

                        provinces.Add(pNew);
                        colorProvinceMap[pNew.Color] = pNew;
                        done.Add(pNew.Color);
                        pNew.points.AddRange(filler.pts);
                        pNew.points.ForEach(o => p.points.Remove(o));
                        pNew.isSea = p.isSea;
                    }
                }
            }
        }
Beispiel #58
0
        private void UpdateChart()
        {
            if (DbUtils.AppEntities.Votes.Any() == false)
            {
                return;
            }

            voteAppEntities dbContext = DbUtils.AppEntities;

            chart1.BeginInit();

            Series series = chart1.Series.FirstOrDefault();

            series.Points.Clear();

            if (series == null)
            {
                Debug.WriteLine("NO SERIE FOUND!");
                return;
            }

            Province selProvince = ((DisplayItem <Province>)comboBoxByProvince.SelectedItem).Item;
            // calculate top 5 partie with more MP (deputados)
            IGrouping <int, Vote> provinceVote = dbContext.Votes.GroupBy(v => v.provinceId).FirstOrDefault(g => g.Key == selProvince.Id);

            // find top five partie with more vote
            var topFivePartieWithMoreVote = provinceVote.GroupBy(v => v.idPartido)
                                            .Select(v => new { PartieId = v.Key, TotalVote = v.Sum(vt => vt.voteData) })
                                            .OrderByDescending(t => t.TotalVote)
                                            .Take(5);

            // variante #1
            double totalVotePerSelProvince = dbContext.Votes.Where(v => v.provinceId == selProvince.Id)
                                             .Sum(v => v.voteData);

            // variante #2
            double totalMPInSelProvince = dbContext.Votes.Where(v => v.provinceId == selProvince.Id)
                                          .Sum(v => v.voteData) / _mpPerElectoralCircle;

            foreach (var topFivePartie in topFivePartieWithMoreVote)
            {
                Partido partie = dbContext.Partidos.First(p => p.Id == topFivePartie.PartieId);

                //double partieTotalVoteInSelProvince = dbContext.Votes
                //    .Where(v => v.provinceId == selProvince.Id && v.idPartido == partie.Id)
                //    .Sum(v => v.voteData);

                double partieTotalMPInProvince = dbContext.Votes
                                                 .Where(v => v.provinceId == selProvince.Id &&
                                                        v.idPartido == partie.Id)
                                                 .Sum(v => v.voteData) / totalMPInSelProvince;

                DataPoint dp = new DataPoint()
                {
                    LegendText = partie.Name,                                                                          // name displayed in legend column
                    Label      =
                        $"{partie.Name} - {partieTotalMPInProvince / totalMPInSelProvince * Math.Pow(10, 3):00.00} %", // name display in cicle
                };

                dp.SetValueY(topFivePartie.TotalVote);

                series.Points.Add(dp);
            }

            //series.Points.ad
            chart1.EndInit();
        }
Beispiel #59
0
        public override void UpdateDatabaseAfterUpdateSchema()
        {
            base.UpdateDatabaseAfterUpdateSchema();

            #region Security
            PermissionPolicyUser sampleUser = ObjectSpace.FindObject <PermissionPolicyUser>(new BinaryOperator("UserName", "User"));
            if (sampleUser == null)
            {
                sampleUser          = ObjectSpace.CreateObject <PermissionPolicyUser>();
                sampleUser.UserName = "******";
                sampleUser.SetPassword("");
            }
            PermissionPolicyRole defaultRole = CreateDefaultRole();
            sampleUser.Roles.Add(defaultRole);

            PermissionPolicyUser userAdmin = ObjectSpace.FindObject <PermissionPolicyUser>(new BinaryOperator("UserName", "Admin"));
            if (userAdmin == null)
            {
                userAdmin          = ObjectSpace.CreateObject <PermissionPolicyUser>();
                userAdmin.UserName = "******";
                // Set a password if the standard authentication type is used
                userAdmin.SetPassword("");
            }
            // If a role with the Administrators name doesn't exist in the database, create this role
            PermissionPolicyRole adminRole = ObjectSpace.FindObject <PermissionPolicyRole>(new BinaryOperator("Name", "Administrators"));
            if (adminRole == null)
            {
                adminRole      = ObjectSpace.CreateObject <PermissionPolicyRole>();
                adminRole.Name = "Administrators";
            }
            adminRole.IsAdministrative = true;
            userAdmin.Roles.Add(adminRole);
            #endregion

            #region Location
            // Province
            using (StreamReader sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("MintaXAF.Module.DatabaseUpdate.Data.Province.json")))
            {
                dynamic lstProvince = JsonConvert.DeserializeObject(sr.ReadToEnd());
                foreach (var item in lstProvince.Province)
                {
                    Province province = ObjectSpace.FindObject <Province>(new BinaryOperator("Code", item.code.Value));
                    if (province == null)
                    {
                        province       = ObjectSpace.CreateObject <Province>();
                        province.Code  = item.code.Value;
                        province.Title = item.name_with_type.Value;
                        province.Save();
                    }
                }
            }
            // District
            using (StreamReader sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("MintaXAF.Module.DatabaseUpdate.Data.District.json")))
            {
                dynamic lstDistrict = JsonConvert.DeserializeObject(sr.ReadToEnd());
                foreach (var item in lstDistrict.District)
                {
                    District district = ObjectSpace.FindObject <District>(new BinaryOperator("Code", item.code.Value));
                    Province province = ObjectSpace.FindObject <Province>(new BinaryOperator("Code", item.parent_code.Value));
                    if (district == null && province != null)
                    {
                        district       = ObjectSpace.CreateObject <District>();
                        district.Code  = item.code.Value;
                        district.Title = item.name_with_type.Value;
                        province.Districts.Add(district);
                        district.Save();
                    }
                }
            }

            // Commune
            using (StreamReader sr = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("MintaXAF.Module.DatabaseUpdate.Data.Commune.json")))
            {
                dynamic lstCommune = JsonConvert.DeserializeObject(sr.ReadToEnd());
                foreach (var item in lstCommune.Commune)
                {
                    Commune  commune  = ObjectSpace.FindObject <Commune>(new BinaryOperator("Code", item.code.Value));
                    District district = ObjectSpace.FindObject <District>(new BinaryOperator("Code", item.parent_code.Value));
                    if (commune == null && district != null)
                    {
                        commune          = ObjectSpace.CreateObject <Commune>();
                        commune.Code     = item.code.Value;
                        commune.Title    = item.name_with_type.Value;
                        commune.Province = district.Province;
                        district.Communes.Add(commune);
                        commune.Save();
                    }
                }
            }
            #endregion

            ObjectSpace.CommitChanges(); //This line persists created object(s).
        }
Beispiel #60
0
 public override string ToString()
 {
     return(string.Format("{0}省 {1}市 {2}", Province.ToString(), City.ToString(), Address));
 }