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" })); }
public async Task <int> InsertUznemumsAsync(Uznemums firma) { _memoryCache.Remove("COMPANIES-LIST"); await _context.Uznemumi.AddAsync(firma); await _context.SaveChangesAsync(); return(firma.Id); }
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" })); }
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); }