Exemple #1
0
        public async Task <IActionResult> PostCategorie([FromServices] CatalogROContext context, [FromBody] Categorie[] categories)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (categories?.Length == 0)
            {
                return(Ok("no data sent - no data saved"));
            }
            var arrID     = categories.Where(it => it.Idcategorie != 0).Select(it => it.Idcategorie).ToArray();
            var formatNew = await context.Categorie.Where(m => arrID.Contains(m.Idcategorie)).ToArrayAsync();

            foreach (var item in formatNew)
            {
                var existing = categories.First(it => it.Idcategorie == item.Idcategorie);
                item.EnglishName = existing.EnglishName;
                item.Nume        = existing.Nume;
                item.Parent      = existing.Parent;
            }
            var newItems = categories.Where(it => it.Idcategorie == 0).ToArray();

            if (newItems.Length > 0)
            {
                context.Categorie.AddRange(newItems);
            }


            await context.SaveChangesAsync();

            categories.ToList().ForEach(it => it.DestroyObjectsRelationship());
            return(CreatedAtAction("POSTCategorie", categories));
        }
        public async Task <IActionResult> PostFormat([FromServices] CatalogROContext context, [FromBody] Format[] formats)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (formats?.Length == 0)
            {
                return(Ok("no data sent - no data saved"));
            }
            var arrID     = formats.Where(it => it.Idformat != 0).Select(it => it.Idformat).ToArray();
            var formatNew = await context.Format.Where(m => arrID.Contains(m.Idformat)).ToArrayAsync();

            foreach (var item in formatNew)
            {
                var existing = formats.First(it => it.Idformat == item.Idformat);
                item.EnglishName = existing.EnglishName;
                item.Nume        = existing.Nume;
            }
            var newItems = formats.Where(it => it.Idformat == 0).ToArray();

            if (newItems.Length > 0)
            {
                context.Format.AddRange(newItems);
            }


            await context.SaveChangesAsync();

            foreach (var f in formats)
            {
                f.DestroyObjectsRelationship();
            }
            return(CreatedAtAction("GetFormat", formats));
        }
        public IEnumerable <Format> GetFormat([FromServices] CatalogROContext context)
        {
            var list = context.Format.ToList();

            list.ForEach(it => it.DestroyObjectsRelationship());
            return(list);
        }
        public async Task <IActionResult> PostResursaDict([FromServices] CatalogROContext context, [FromBody] ResursaDict resursaDict)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            context.ResursaDict.Add(resursaDict);
            try
            {
                await context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (ResursaDictExists(context, resursaDict.Id))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetResursaDict", new { id = resursaDict.Id }, resursaDict));
        }
        public async Task <IActionResult> GetFormat([FromServices] CatalogROContext context, [FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var format = await context.Format.SingleOrDefaultAsync(m => m.Idformat == id);

            if (format == null)
            {
                return(NotFound($"cannot found format with id :{id}"));
            }
            format.DestroyObjectsRelationship();
            return(Ok(format));
        }
        public async Task <IEnumerable <ResursaValoareFlat> > GetResursaValoare([FromServices] CatalogROContext context, Guid id)
        {
            var data = await context.ResursaValoare.Where(rv => rv.UniqueId == id)
                       .Select(rv => new ResursaValoareFlat()
            {
                Id              = rv.IdresursaDict,
                Nume            = rv.IdresursaDictNavigation.Nume,
                Valoare         = rv.IdresursaDictNavigation.Valoare,
                TableValue      = rv.IdresursaDictNavigation.TableValue,
                ValoareData     = rv.Valoare,
                UniqueId        = rv.UniqueId,
                DataIntroducere = rv.Unique.DataIntroducere
            }).ToArrayAsync();

            return(data);
        }
        public async Task <IActionResult> PostResursaValoare([FromServices] CatalogROContext context, string id, [FromBody] ResursaValoareFlat[] resursaValoares)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var ids = resursaValoares.Select(it => it.Id).ToArray();
            var rds = await context.ResursaDict.Where(rd => ids.Contains(rd.Id)).ToArrayAsync();

            if (rds.Length != ids.Length)
            {
                throw new ArgumentException($"NOT same number of arguments {rds.Length} {ids.Length}");
            }
            var names = rds.Select(it => it.Nume).Distinct().ToArray();

            if (names?.Length != 1)
            {
                throw new ArgumentException($"multiple names");
            }
            if (names[0] != id)
            {
                throw new ArgumentException($"not correct name");
            }
            var ri = new ResursaInregistrare();

            ri.Identuziast     = 1;
            ri.UniqueId        = Guid.NewGuid();
            ri.DataIntroducere = DateTime.UtcNow;
            context.ResursaInregistrare.Add(ri);
            await context.SaveChangesAsync();

            foreach (var rv in resursaValoares)
            {
                var rvNew = new ResursaValoare();
                rvNew.IdresursaDict = rv.Id;
                rvNew.UniqueId      = ri.UniqueId;
                rvNew.Valoare       = rv.ValoareData;
                context.Add(rvNew);
            }
            await context.SaveChangesAsync();

            return(CreatedAtAction("GetResursaValoare", new { id = ri.UniqueId }));
        }
        public async Task <IActionResult> DeleteFormat([FromServices] CatalogROContext context, [FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var format = await context.Format.SingleOrDefaultAsync(m => m.Idformat == id);

            if (format == null)
            {
                return(NotFound($"not found format with id {id}"));
            }

            context.Format.Remove(format);
            await context.SaveChangesAsync();

            return(Ok(format));
        }
        public async Task <IActionResult> DeleteResursaDict([FromServices] CatalogROContext context, [FromRoute] long id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var resursaDict = await context.ResursaDict.SingleOrDefaultAsync(m => m.Id == id);

            if (resursaDict == null)
            {
                return(NotFound());
            }

            context.ResursaDict.Remove(resursaDict);
            await context.SaveChangesAsync();

            return(Ok(resursaDict));
        }
        public async Task <IActionResult> GetResursaValoare([FromServices] CatalogROContext context, [FromRoute] long id)
        {
            var riAll = await context.ResursaInregistrare.Where(it => it.Identuziast == id).Select(it => it.UniqueId).ToArrayAsync();

            var rvAll = await context.ResursaValoare.Where(it => riAll.Contains(it.UniqueId))
                        .Select(rv => new ResursaValoareFlat()
            {
                Id              = rv.IdresursaDict,
                Nume            = rv.IdresursaDictNavigation.Nume,
                Valoare         = rv.IdresursaDictNavigation.Valoare,
                TableValue      = rv.IdresursaDictNavigation.TableValue,
                ValoareData     = rv.Valoare,
                UniqueId        = rv.UniqueId,
                DataIntroducere = rv.Unique.DataIntroducere
            })
                        .ToArrayAsync();

            return(Ok(rvAll));
        }
        public async Task <IActionResult> GetResursaDict([FromServices] CatalogROContext context, [FromRoute] string id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var resursaDict = await context.ResursaDict.Where(m => m.Nume == id).ToArrayAsync();

            if (resursaDict == null)
            {
                return(NotFound());
            }

            foreach (var item in resursaDict)
            {
                item.DestroyObjectsRelationship();
            }
            return(Ok(resursaDict));
        }
Exemple #12
0
        private void Seed(CatalogROContext catalogROContext)
        {
            var cBeletristica = new Categorie();

            cBeletristica.Nume = "Beletristica";
            catalogROContext.Categorie.Add(cBeletristica);
            var cPoezie = new Categorie();

            cPoezie.Nume             = "Poezie";
            cPoezie.ParentNavigation = cBeletristica;
            catalogROContext.Categorie.Add(cPoezie);

            var cDrama = new Categorie();

            cDrama.Nume             = "Drama";
            cDrama.ParentNavigation = cBeletristica;
            catalogROContext.Categorie.Add(cDrama);
            var cAltele  = new Categorie(); cAltele.Nume = "Altele"; catalogROContext.Categorie.Add(cAltele);
            var cEseu    = new Categorie(); cEseu.Nume = "Eseu"; catalogROContext.Categorie.Add(cEseu);
            var cCronica = new Categorie(); cCronica.Nume = "Cronica"; catalogROContext.Categorie.Add(cCronica);

            catalogROContext.SaveChanges();

            Format f = null;

            f      = new Format();
            f.Nume = "PDF";
            catalogROContext.Format.Add(f);

            f      = new Format();
            f.Nume = "JPG";
            catalogROContext.Format.Add(f);

            f      = new Format();
            f.Nume = "TXT";
            catalogROContext.Format.Add(f);

            catalogROContext.SaveChanges();
        }
 private bool FormatExists(CatalogROContext context, int id)
 {
     return(context.Format.Any(e => e.Idformat == id));
 }
 private bool ResursaDictExists(CatalogROContext context, long id)
 {
     return(context.ResursaDict.Any(e => e.Id == id));
 }
 public IEnumerable <ResursaDict> GetResursaDict([FromServices] CatalogROContext context)
 {
     return(context.ResursaDict);
 }
Exemple #16
0
 public CategoriesController(CatalogROContext context)
 {
     _context = context;
 }