Пример #1
0
        public async Task <IActionResult> Create([FromBody] StoreElementViewModel entity)
        {
            if (entity == null)
            {
                return(BadRequest("Bad model"));
            }
            try
            {
                if (entity.Magazyn.Id > 0)
                {
                    switch (entity.Magazyn.Id)
                    {
                    case 1:
                        var res1 = _ctx.MagazynCzesci.Add(_mapper.Map <MagazynCzesci>(entity));
                        await _ctx.SaveChangesAsync();

                        entity.Id = res1.Entity.Id;
                        return(Created("", entity));

                    case 2:
                        var res2 = _ctx.MagazynProdukty.Add(_mapper.Map <MagazynProdukty>(entity));
                        await _ctx.SaveChangesAsync();

                        entity.Id = res2.Entity.Id;
                        return(Created("", entity));

                    case 3:
                        var res3 = _ctx.MagazynKomponenty.Add(_mapper.Map <MagazynKomponenty>(entity));
                        entity.Id = res3.Entity.Id;
                        await _ctx.SaveChangesAsync();

                        return(Created("", entity));

                    case 4:
                        var res4 = _ctx.MagazynTowary.Add(_mapper.Map <MagazynTowary>(entity));
                        entity.Id = res4.Entity.Id;
                        await _ctx.SaveChangesAsync();

                        return(Created("", entity));

                    case 5:
                        var res5 = _ctx.MagazynProduktyNiezgodne.Add(_mapper.Map <MagazynProduktyNiezgodne>(entity));
                        entity.Id = res5.Entity.Id;
                        await _ctx.SaveChangesAsync();

                        return(Created("", entity));

                    default:
                        throw new Exception("Nieparwidlowy magazyn!");
                    }
                }
                else
                {
                    throw new Exception("Nie wybrano magazynu!");
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Пример #2
0
        public async Task <IActionResult> Update([FromBody] StoreElementViewModel entity)
        {
            if (entity == null)
            {
                return(BadRequest("Bad model"));
            }
            try
            {
                switch (entity.Magazyn.Id)
                {
                case 1:
                    var item = _ctx.MagazynCzesci.FirstOrDefault(p => p.Id == entity.Id);
                    if (item != null)
                    {
                        item.CenaJdnNetto  = entity.CenaJdnNetto;
                        item.DataPrzyjecia = entity.DataPrzyjecia;
                        item.Element       = null;
                        item.ElementId     = entity.ElementId;
                        item.Ilosc         = entity.Ilosc;
                        item.Jednostka     = entity.Jednostka;
                        item.Kontrahent    = null;
                        item.KontrahentId  = entity.KontrahentId;
                        item.Lokacja       = null;
                        item.LokacjaId     = entity.LokacjaId;
                        item.NrFakturyId   = entity.NrFakturyId;

                        await _ctx.SaveChangesAsync();
                    }
                    return(NoContent());

                case 2:
                    var item2 = _ctx.MagazynProdukty.FirstOrDefault(p => p.Id == entity.Id);
                    if (item2 != null)
                    {
                        item2.CenaJdnNetto  = entity.CenaJdnNetto;
                        item2.DataPrzyjecia = entity.DataPrzyjecia;
                        item2.Element       = null;
                        int?elId = null;
                        if (int.TryParse(entity.ElementId, out int res))
                        {
                            elId = res;
                        }
                        item2.ElementId    = elId;
                        item2.Ilosc        = entity.Ilosc;
                        item2.Jednostka    = entity.Jednostka;
                        item2.Kontrahent   = null;
                        item2.KontrahentId = entity.KontrahentId;
                        item2.Lokacja      = null;
                        item2.LokacjaId    = entity.LokacjaId;
                        item2.NrFakturyId  = entity.NrFakturyId;

                        await _ctx.SaveChangesAsync();
                    }
                    return(NoContent());

                case 3:
                    var item3 = _ctx.MagazynKomponenty.FirstOrDefault(p => p.Id == entity.Id);
                    if (item3 != null)
                    {
                        item3.CenaJdnNetto  = entity.CenaJdnNetto;
                        item3.DataPrzyjecia = entity.DataPrzyjecia;
                        item3.Element       = null;
                        int?elId = null;
                        if (int.TryParse(entity.ElementId, out int res))
                        {
                            elId = res;
                        }
                        item3.ElementId    = elId;
                        item3.Ilosc        = entity.Ilosc;
                        item3.Jednostka    = entity.Jednostka;
                        item3.Kontrahent   = null;
                        item3.KontrahentId = entity.KontrahentId;
                        item3.Lokacja      = null;
                        item3.LokacjaId    = entity.LokacjaId;
                        item3.NrFakturyId  = entity.NrFakturyId;

                        await _ctx.SaveChangesAsync();
                    }
                    return(NoContent());

                case 4:
                    var item4 = _ctx.MagazynTowary.FirstOrDefault(p => p.Id == entity.Id);
                    if (item4 != null)
                    {
                        item4.CenaJdnNetto  = entity.CenaJdnNetto;
                        item4.DataPrzyjecia = entity.DataPrzyjecia;
                        item4.Element       = null;
                        item4.ElementId     = entity.ElementId;
                        item4.Ilosc         = entity.Ilosc;
                        item4.Jednostka     = entity.Jednostka;
                        item4.Kontrahent    = null;
                        item4.KontrahentId  = entity.KontrahentId;
                        item4.Lokacja       = null;
                        item4.LokacjaId     = entity.LokacjaId;
                        item4.NrFakturyId   = entity.NrFakturyId;

                        await _ctx.SaveChangesAsync();
                    }
                    return(NoContent());

                case 5:
                    var item5 = _ctx.MagazynProduktyNiezgodne.FirstOrDefault(p => p.Id == entity.Id);
                    if (item5 != null)
                    {
                        item5.CenaJdnNetto  = entity.CenaJdnNetto;
                        item5.DataPrzyjecia = entity.DataPrzyjecia;
                        item5.Element       = null;
                        int?elId = null;
                        if (int.TryParse(entity.ElementId, out int res))
                        {
                            elId = res;
                        }
                        item5.ElementId    = elId;
                        item5.Ilosc        = entity.Ilosc;
                        item5.Jednostka    = entity.Jednostka;
                        item5.Kontrahent   = null;
                        item5.KontrahentId = entity.KontrahentId;
                        item5.Lokacja      = null;
                        item5.LokacjaId    = entity.LokacjaId;
                        item5.NrFakturyId  = entity.NrFakturyId;

                        await _ctx.SaveChangesAsync();
                    }
                    return(NoContent());

                default:
                    throw new Exception("Nieparwidlowy magazyn!");
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }