示例#1
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());
            }
        }
示例#2
0
        public async Task <IActionResult> Put([FromRoute] int id, [FromRoute] string nmrid, [FromBody] TblOtptfu item)
        {
            if (!TryValidateModel(item))
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != item.Otptfuid)
            {
                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)
            {
                nmr.UpdateDate             = DateTime.Now;
                nmr.StatusId               = 2;
                _context.Entry(item).State = EntityState.Modified;


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

                return(NoContent());
            }
            else
            {
                return(Unauthorized());
            }
        }
示例#3
0
 private bool authorizeAction(Nmr nmr)
 {
     if (nmr == null)
     {
         return(false);
     }
     if (nmr.StatusId == 3 || nmr.HfactiveStatusId != 1)
     {
         return(false);
     }
     if (nmr.UserName != User.Identity.Name)
     {
         return(false);
     }
     return(true);
 }
示例#4
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());
            }
        }
示例#5
0
        public async Task <IActionResult> Edit(string id, [Bind("Nmrid,Commen,Month,Year,FacilityId,HfactiveStatusId,Implementer,PreparedBy,isHumanitarian,mYear,mMonth")] Nmr nmr)
        {
            if (id != nmr.Nmrid)
            {
                return(BadRequest());
            }
            var FacType = (from f in _context.FacilityInfo
                           where f.FacilityId == nmr.FacilityId
                           select f).FirstOrDefault();
            var fac = _context.FacilityInfo.Where(m => m.FacilityId.Equals(nmr.FacilityId)).SingleOrDefault();


            if (ModelState.IsValid)
            {
                var item = await _context.Nmr.Include(m => m.Facility).SingleOrDefaultAsync(m => m.Nmrid == id);

                if (item == null)
                {
                    return(NotFound());
                }
                if (item.StatusId == 3 || item.HfactiveStatusId != 1)
                {
                    return(BadRequest());
                }
                if (item.UserName != User.Identity.Name)
                {
                    return(BadRequest());
                }
                try
                {
                    item.UpdateDate       = DateTime.Now;
                    item.Month            = nmr.Month;
                    item.Year             = nmr.Year;
                    item.Commen           = nmr.Commen;
                    item.PreparedBy       = nmr.PreparedBy;
                    item.FacilityId       = nmr.FacilityId;
                    item.HfactiveStatusId = nmr.HfactiveStatusId;
                    item.isHumanitarian   = nmr.isHumanitarian;
                    item.Implementer      = fac.Implementer;
                    if (nmr.Month < 10)
                    {
                        item.mYear  = (nmr.Year + 621);
                        item.mMonth = (nmr.Month + 3);
                    }
                    else if (item.Month > 9)
                    {
                        item.mYear  = (nmr.Year + 622);
                        item.mMonth = (nmr.Month - 9);
                    }
                    item.FacilityType = FacType.FacilityType;

                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!NmrExists(nmr.Nmrid))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            List <Provinces> Provinces = new List <Provinces>();

            Provinces = (from prov in _context.Provinces select prov).ToList();
            Provinces.Insert(0, new Provinces {
                ProvCode = "0", ProvName = "select"
            });
            ViewData["ProvList"]   = new SelectList(Provinces, "ProvCode", "ProvName");
            ViewData["FacilityId"] = new SelectList(_context.FacilityInfo, "FacilityId", "FacilityName");
            var implementers = (from imp in _context.Implementers select imp).ToList();

            implementers.Insert(0, new Implementers {
                ImpAcronym = " ", ImpName = "select"
            });
            ViewData["HfactiveStatusId"] = new SelectList(_context.LkpHfstatus, "HfactiveStatusId", "HfstatusDescription");
            return(View(nmr));
        }
示例#6
0
        public async Task <IActionResult> Create([Bind("Nmrid,Commen,FacilityId,Flanumber,HfactiveStatusId,Month,OpeningDate,PreparedBy,UpdateDate,UserName,Year,isHumanitarian,mYear,mMonth,FacilityType")] Nmr nmr)
        {
            var FacType = (from f in _context.FacilityInfo
                           where f.FacilityId == nmr.FacilityId
                           select f).FirstOrDefault();
            var fac = _context.FacilityInfo.Where(m => m.FacilityId.Equals(nmr.FacilityId)).SingleOrDefault();
            List <Provinces> provinces = new List <Provinces>();

            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByNameAsync(User.Identity.Name);

                nmr.OpeningDate = DateTime.Now;
                nmr.Nmrid       = String.Format("{0}-{1}-{2}", nmr.FacilityId, nmr.Year, nmr.Month);
                nmr.UserName    = User.Identity.Name;
                nmr.Implementer = fac.Implementer;
                nmr.StatusId    = 1;
                nmr.Tenant      = user.TenantId;
                if (nmr.Month < 10)
                {
                    nmr.mYear  = (nmr.Year + 621);
                    nmr.mMonth = (nmr.Month + 3);
                }
                else if (nmr.Month > 9)
                {
                    nmr.mYear  = (nmr.Year + 622);
                    nmr.mMonth = (nmr.Month - 9);
                }
                nmr.FacilityType = FacType.FacilityType;
                _context.Add(nmr);
                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateException)
                {
                    ModelState.AddModelError(String.Empty, "Only one report per month is allowed.");
                    provinces = (from prov in _context.Provinces select prov).ToList();
                    provinces.Insert(0, new Provinces {
                        ProvCode = "0", ProvName = "select"
                    });
                    ViewData["ProvList"]         = new SelectList(provinces, "ProvCode", "ProvName");
                    ViewData["FacilityId"]       = new SelectList(_context.FacilityInfo, "FacilityId", "FacilityName");
                    ViewData["HfactiveStatusId"] = new SelectList(_context.LkpHfstatus, "HfactiveStatusId", "HfstatusDescription");
                    return(View(nmr));
                }

                return(RedirectToAction("questions", new { id = nmr.Nmrid }));
            }
            provinces = (from prov in _context.Provinces select prov).ToList();
            provinces.Insert(0, new Provinces {
                ProvCode = "0", ProvName = "select"
            });
            ViewData["ProvList"]   = new SelectList(provinces, "ProvCode", "ProvName");
            ViewData["FacilityId"] = new SelectList(_context.FacilityInfo, "FacilityId", "FacilityId", nmr.FacilityId);
            var implementers = (from imp in _context.Implementers select imp).ToList();

            implementers.Insert(0, new Implementers {
                ImpAcronym = " ", ImpName = "select"
            });
            ViewData["Implementers"]     = new SelectList(implementers, "ImpAcronym", "ImpAcronym");
            ViewData["HfactiveStatusId"] = new SelectList(_context.LkpHfstatus, "HfactiveStatusId", "HfactiveStatusId", nmr.HfactiveStatusId);
            return(View(nmr));
        }