Esempio n. 1
0
        public async Task <ActionResult <TblCountries> > PostTblCountries(TblCountries tblCountries)
        {
            _context.TblCountries.Add(tblCountries);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetTblCountries", new { id = tblCountries.Countryid }, tblCountries));
        }
Esempio n. 2
0
        public async Task <IActionResult> PutTblCountries(int id, TblCountries tblCountries)
        {
            if (id != tblCountries.Countryid)
            {
                return(BadRequest());
            }

            _context.Entry(tblCountries).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TblCountriesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 3
0
        public virtual async Task <int> AddAsync(TblCountries record)
        {
            _dbContext.Countries.Add(record);
            await _dbContext.SaveChangesAsync();

            ClearCache();

            _eventPublisher.EntityInserted(record);

            return(record.Id);
        }
Esempio n. 4
0
        public virtual async Task UpdateAsync(TblCountries record)
        {
            var oldRecord = await FindByIdAsync(record.Id);

            _dbContext.Countries.AddOrUpdate(record);
            await _dbContext.SaveChangesAsync();

            ClearCache();

            _eventPublisher.EntityUpdated(record, oldRecord);
        }
        public virtual async Task <CountryModel> PrepareCountryModelAsync(TblCountries country)
        {
            CountryModel result;

            if (country == null)
            {
                result = new CountryModel();
            }
            else
            {
                result = country.Adapt <CountryModel>();
                await country.LoadAllLocalizedStringsToModelAsync(result);
            }
            return(result);
        }
        public virtual void Initialize(AppDbContext db)
        {
            //Default Currency
            TblCurrencies usDollar = null, irRial = null;

            if (!db.Currencies.Any(p => p.IsMainCurrency))
            {
                usDollar = new TblCurrencies()
                {
                    IsoCode        = "USD",
                    DisplayOrder   = 0,
                    IsMainCurrency = true,
                    Published      = true,
                    CurrencyName   = "USD (US Dollar)",
                    ExchangeRate   = 0,
                    DisplayFormat  = "${0:N2}",
                    ShortName      = "USD"
                };

                irRial = new TblCurrencies()
                {
                    IsoCode        = "IRR",
                    DisplayOrder   = 1,
                    IsMainCurrency = false,
                    Published      = true,
                    CurrencyName   = "IRR (Iranian Rial)",
                    ExchangeRate   = 38000,
                    DisplayFormat  = "{0:#,###} ریال",
                    ShortName      = "Rial"
                };

                db.Currencies.AddOrUpdate(usDollar);
                db.Currencies.AddOrUpdate(irRial);

                db.SaveChanges();
            }
            else
            {
                usDollar = db.Currencies.FirstOrDefault(p => p.IsoCode.ToUpper().Trim() == "USD");
                irRial   = db.Currencies.FirstOrDefault(p => p.IsoCode.ToUpper().Trim() == "IRR");
            }

            //Default Language
            TblLanguages enLang, faLang;

            if (!db.Languages.Any(p => p.IsDefault))
            {
                using (var stream = new MemoryStream())
                {
                    Resources.English_16px.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
                    enLang = new TblLanguages()
                    {
                        IsoCode           = "en",
                        IsRtl             = false,
                        DisplayOrder      = 0,
                        IsDefault         = true,
                        LanguageName      = "English",
                        Published         = true,
                        Icon              = stream.ToArray(),
                        DefaultCurrency   = usDollar,
                        DefaultCurrencyId = usDollar?.Id
                    };

                    stream.Seek(0, SeekOrigin.Begin);
                    Resources.Iran_16px.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
                    faLang = new TblLanguages()
                    {
                        IsoCode           = "fa",
                        IsRtl             = true,
                        DisplayOrder      = 1,
                        IsDefault         = false,
                        LanguageName      = "فارسی",
                        Published         = true,
                        Icon              = stream.ToArray(),
                        DefaultCurrency   = irRial,
                        DefaultCurrencyId = irRial?.Id
                    };
                }

                db.Languages.AddOrUpdate(enLang);
                db.Languages.AddOrUpdate(faLang);
                db.SaveChanges();

                if (irRial != null)
                {
                    db.LocalizedProperty.AddOrUpdate(new TblLocalizedProperty()
                    {
                        EntityId       = irRial.Id,
                        LocaleKey      = "CurrencyName",
                        LocaleKeyGroup = "Tbl_Currencies",
                        LocaleValue    = "ریال ایران",
                        LanguageId     = faLang.Id
                    });
                    db.LocalizedProperty.AddOrUpdate(new TblLocalizedProperty()
                    {
                        EntityId       = irRial.Id,
                        LocaleKey      = "ShortName",
                        LocaleKeyGroup = "Tbl_Currencies",
                        LocaleValue    = "ریال",
                        LanguageId     = faLang.Id
                    });
                    db.SaveChanges();
                }

                if (usDollar != null)
                {
                    db.LocalizedProperty.AddOrUpdate(new TblLocalizedProperty()
                    {
                        EntityId       = usDollar.Id,
                        LocaleKey      = "CurrencyName",
                        LocaleKeyGroup = "Tbl_Currencies",
                        LocaleValue    = "دلار آمریکا",
                        LanguageId     = faLang.Id
                    });
                    db.LocalizedProperty.AddOrUpdate(new TblLocalizedProperty()
                    {
                        EntityId       = usDollar.Id,
                        LocaleKey      = "ShortName",
                        LocaleKeyGroup = "Tbl_Currencies",
                        LocaleValue    = "دلار",
                        LanguageId     = faLang.Id
                    });
                    db.SaveChanges();
                }
            }
            else
            {
                faLang = db.Languages.FirstOrDefault(p => p.IsoCode.Trim() == "fa");
            }

            //Countries List
            if (!db.Countries.Any())
            {
                foreach (var country in Countries)
                {
                    var dbCountry = new TblCountries()
                    {
                        CountryName = country.Key
                    };
                    db.Countries.AddOrUpdate(dbCountry);
                    db.SaveChanges();

                    if (faLang != null)
                    {
                        db.LocalizedProperty.AddOrUpdate(new TblLocalizedProperty()
                        {
                            EntityId       = dbCountry.Id,
                            LanguageId     = faLang.Id,
                            LocaleKeyGroup = "Tbl_Countries",
                            LocaleKey      = "CountryName",
                            LocaleValue    = country.Value
                        });
                    }
                }
            }

            db.SaveChanges();

            ImportLocalizedStrings(db);
        }