Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateCompany([FromBody] Uznemums firma)
        {
            var result = await _repository.UpdateUznemumsAsync(firma);

            if (result > 0)
            {
                return(StatusCode(200, new { message = "Uzņēmuma dati atjaunināti" }));
            }
            return(StatusCode(200, new { message = "Nav izmaiņu ko saglabāt" }));
        }
Ejemplo n.º 2
0
        public async Task <int> InsertUznemumsAsync(Uznemums firma)
        {
            _memoryCache.Remove("COMPANIES-LIST");

            await _context.Uznemumi.AddAsync(firma);

            await _context.SaveChangesAsync();

            return(firma.Id);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> InsertCompany([FromBody] Uznemums firma)
        {
            var result = await _repository.InsertUznemumsAsync(firma);

            return(StatusCode(200, new { id = result.ToString(), message = "Izveidots jauns uzņēmums" }));
        }
Ejemplo n.º 4
0
        public async Task <int> UpdateUznemumsAsync(Uznemums firma)
        {
            _memoryCache.Remove("COMPANIES-LIST");

            var company = await _context.Uznemumi
                          .Where(c => c.Id == firma.Id)
                          .Include(c => c.Adreses)
                          .Include(c => c.Bankas)
                          .FirstOrDefaultAsync();

            if (company == null)
            {
                throw new BadRequestException($"Uzņēmums ar Id={firma.Id} netika atrasts");
            }

            var result = 0;

            #region Adreses

            var addrToBeRemoved = (from a in company.Adreses where !firma.Adreses.Any(c => c.Id > 0 && c.Id == a.Id) select a).ToList();
            var addrToBeAdded   = (from a in firma.Adreses where !company.Adreses.Any(e => a.Id == e.Id) select a).ToList();

            if (addrToBeRemoved.Count > 0) // izdzēšam noņemtās adreses
            {
                foreach (var a in addrToBeRemoved)
                {
                    company.Adreses.Remove(a);
                }
            }

            if (addrToBeAdded.Count > 0) // pievienojam jaunās
            {
                foreach (var a in addrToBeAdded)
                {
                    company.Adreses.Add(new UznemumaAdrese
                    {
                        Veids     = a.Veids,
                        Nosaukums = a.Nosaukums
                    });
                }
            }

            // lai atjauninātu izmaiņas esošajās adresēs
            result = await _context.SaveChangesAsync();

            foreach (var addr in company.Adreses)
            {
                var na = firma.Adreses.Where(a => a.Id == addr.Id).FirstOrDefault();
                if (na != null)
                {
                    addr.Veids     = na.Veids;
                    addr.Nosaukums = na.Nosaukums;
                }
            }

            #endregion

            #region Bankas

            var banksToBeRemoved = (from b in company.Bankas where !firma.Bankas.Any(c => c.Id > 0 && c.Id == b.Id) select b).ToList();
            var banksToBeAdded   = (from b in firma.Bankas where !company.Bankas.Any(e => b.Id == e.Id) select b).ToList();

            if (banksToBeRemoved.Count > 0) // izdzēšam noņemtās bankas
            {
                foreach (var b in banksToBeRemoved)
                {
                    company.Bankas.Remove(b);
                }
            }

            if (banksToBeAdded.Count > 0) // pievienojam jaunās
            {
                foreach (var b in banksToBeAdded)
                {
                    company.Bankas.Add(new UznemumaBanka
                    {
                        Nosaukums = b.Nosaukums,
                        Kods      = b.Kods,
                        Konts     = b.Konts
                    });
                }
            }

            // lai atjauninātu izmaiņas esošajās bankās
            result += await _context.SaveChangesAsync();

            foreach (var bank in company.Bankas)
            {
                var nb = firma.Bankas.Where(b => b.Id == bank.Id).FirstOrDefault();
                if (nb != null)
                {
                    bank.Nosaukums = nb.Nosaukums;
                    bank.Konts     = nb.Konts;
                    bank.Kods      = nb.Kods;
                }
            }

            #endregion

            #region Dati

            company.Nosaukums = firma.Nosaukums;
            company.RegNumurs = firma.RegNumurs;
            company.PvnNumurs = firma.PvnNumurs;
            company.Epasts    = firma.Epasts;
            company.Talrunis  = firma.Talrunis;
            company.Piezimes  = firma.Piezimes;

            #endregion

            result += await _context.SaveChangesAsync();

            return(result);
        }