Exemplo n.º 1
0
        public async Task <IActionResult> DeleteStock([FromRoute] int id, [FromRoute] string nmrid)
        {
            if (nmrid == null)
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            TblStockIpt item = await _context.TblStockIpt.SingleOrDefaultAsync(m => m.SstockId == id && m.Nmrid == nmrid);

            if (item == null)
            {
                return(NotFound());
            }
            Nmr nmr = await _context.Nmr.SingleOrDefaultAsync(m => m.Nmrid == item.Nmrid);

            if (nmr == null)
            {
                return(NotFound());
            }
            if (nmr.StatusId == 3 || nmr.HfactiveStatusId != 1)
            {
                return(BadRequest());
            }
            if (nmr.UserName == User.Identity.Name)
            {
                nmr.UpdateDate = DateTime.Now;
                nmr.StatusId   = 2;
                _context.TblStockIpt.Remove(item);
                await _context.SaveChangesAsync();

                return(Ok(item));
            }
            else
            {
                return(Unauthorized());
            }
        }
Exemplo n.º 2
0
        public IActionResult Create(string nmrid)
        {
            if (nmrid == null)
            {
                return(NotFound());
            }
            var nmr = _context.Nmr.SingleOrDefault(m => m.Nmrid == nmrid);

            if (nmr == null)
            {
                return(NotFound());
            }
            var user = User.Identity.Name;

            if (nmr.UserName != user)
            {
                return(Unauthorized());
            }
            int[] query = _context.TblOtptfu.Where(m => m.Nmrid == nmrid).Select(m => m.Otptfuid).ToArray();
            int[] model = _context.TlkpOtptfu.Where(m => m.Active.Equals(true) && !m.AgeGroup.ToLower().Contains("total") && !query.Contains(m.Otptfuid)).Select(m => m.Otptfuid).ToArray();
            foreach (int a in model)
            {
                TblOtptfu Item = new TblOtptfu();
                Item.Nmrid    = nmrid;
                Item.Otptfuid = a;
                Item.UserName = user;
                _context.TblOtptfu.Add(Item);
            }
            int[] query2 = _context.TblStockIpt.Where(m => m.Nmrid == nmrid).Select(m => m.SstockId).ToArray();
            int[] stock  = _context.TlkpSstock.Where(m => m.Active.Equals(true) && m.IPDSAMZarib > 0 && !query2.Contains(m.SstockId)).Select(m => m.SstockId).ToArray();
            foreach (int a in stock)
            {
                TblStockIpt Item = new TblStockIpt();
                Item.Nmrid    = nmrid;
                Item.SstockId = a;
                Item.UserName = user;
                _context.TblStockIpt.Add(Item);
            }
            _context.SaveChanges();
            return(Ok());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> putStock([FromRoute] int id, [FromRoute] string nmrid, [FromBody] TblStockIpt item)
        {
            if (nmrid == null)
            {
                BadRequest();
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != item.SstockId)
            {
                return(BadRequest());
            }
            Nmr nmr = await _context.Nmr.SingleOrDefaultAsync(m => m.Nmrid == item.Nmrid);

            if (nmr == null)
            {
                return(NotFound());
            }
            if (nmr.StatusId == 3 || nmr.HfactiveStatusId != 1)
            {
                return(BadRequest());
            }
            if (User.Identity.Name == nmr.UserName)
            {
                var stock = await _context.TblStockIpt.Where(m => m.Nmrid == nmrid && m.SstockId == id).AsNoTracking().SingleOrDefaultAsync();

                if (stock.UserName != item.UserName)
                {
                    return(BadRequest());
                }
                nmr.StatusId               = 2;
                nmr.UpdateDate             = DateTime.Now;
                _context.Entry(item).State = EntityState.Modified;

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

                return(NoContent());
            }
            else
            {
                return(Unauthorized());
            }
        }