示例#1
0
        public static SystemBookData GetSystemBookModel(int id)
        {
            PapayaEntities db     = new PapayaEntities();
            SystemBookData model  = new SystemBookData();
            rs_assets      system = db.rs_assets.Where(x => x.AssetId == id).SingleOrDefault(); //AssetId must be unique

            if (system != null)
            {
                if (system.IsSystem)
                {
                    List <SystemAsset>   assets    = new List <SystemAsset>();
                    List <rs_assets_rel> relations = db.rs_assets_rel.Where(x => x.SysId == id).ToList();
                    foreach (rs_assets_rel rel in relations)
                    {
                        SystemAsset asset = new SystemAsset();

                        asset.SubAsset = rel.rs_assets;
                        if (rel.rs_assets.Availability == 1)
                        {
                            asset.IsSelected = true;
                        }
                        assets.Add(asset);
                    }

                    model.Assets = assets;
                }

                model.System = system;
            }
            return(model);
        }
示例#2
0
        public ActionResult AddAccessories(SystemModel model)
        {
            rs_accessories acc = model.Accessories;

            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (ModelState.IsValid)
                {
                    rs_assets system = db.rs_assets.Find(model.System.AssetId);
                    if (system != null)
                    {
                        acc.AssetId = model.System.AssetId;
                        db.rs_accessories.Add(acc);
                        db.SaveChanges();

                        return(RedirectToAction("Details", new { id = model.System.AssetId }));
                    }
                    else
                    {
                        return(RedirectToAction("Details", new { id = model.System.AssetId }));
                    }
                }
                else
                {
                    return(RedirectToAction("NotAuthenticated", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
示例#3
0
        public ActionResult Delete(int id)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                rs_assets rs_assets = db.rs_assets.Find(id);

                //Delete any attached accessories
                List <rs_accessories> acclist = db.rs_accessories.Where(x => x.AssetId == id).ToList();
                foreach (rs_accessories acc in acclist)
                {
                    db.rs_accessories.Remove(acc);
                    db.SaveChanges();
                }

                //Delete any related relationship
                List <rs_assets_rel> relist = db.rs_assets_rel.Where(x => x.AssetId == id || x.SysId == id).ToList();
                foreach (rs_assets_rel rel in relist)
                {
                    db.rs_assets_rel.Remove(rel);
                    db.SaveChanges();
                }

                db.rs_assets.Remove(rs_assets);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
示例#4
0
        // GET: Assets/Edit/5
        public ActionResult Edit(int?id)
        {
            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                rs_assets rs_assets = db.rs_assets.Find(id);
                if (rs_assets == null)
                {
                    return(HttpNotFound());
                }
                SystemModel model = new SystemModel();

                model.System         = rs_assets;
                ViewBag.OriginLocId  = new SelectList(db.rs_locations, "LocationId", "LocationName", rs_assets.OriginLocId);
                ViewBag.CurrentLocId = new SelectList(db.rs_locations, "LocationId", "LocationName", rs_assets.CurrentLocId);
                ViewBag.OwnerId      = new SelectList(db.rs_user, "UserId", "Username", rs_assets.OwnedBy);
                ViewBag.DivId        = new SelectList(db.rs_division, "DivId", "DivisionNo", rs_assets.DivId);
                ViewBag.OwnerShipId  = new SelectList(db.rs_ownership, "OwnerShipId", "OwnerType", rs_assets.OwnerShipId);
                ViewBag.Availability = new SelectList(db.rs_assetstatus, "StatusId", "Status", rs_assets.Availability);
                return(View(model));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
示例#5
0
        // GET: Assets/SystemDetails/5
        public ActionResult SystemDetails(int?id)
        {
            SystemModel model = null;

            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                rs_assets rs_assets = db.rs_assets.Find(id);
                if (rs_assets == null)
                {
                    return(HttpNotFound());
                }
                if (rs_assets.IsSystem)
                {
                    model = AssetHelper.GetSystemModel(rs_assets.AssetId);
                }
                else
                {
                    model.System = rs_assets;
                    model.Assets = null;
                }
                return(View(rs_assets));
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
示例#6
0
        public ActionResult AddAsset(SystemModel model, HttpPostedFileBase file)
        {
            rs_assets    rs_assets = model.SubAsset;
            JSonResponse result    = new JSonResponse();

            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (ModelState.IsValid)
                {
                    rs_assets system = db.rs_assets.Find(model.System.AssetId);
                    if (system != null)
                    {
                        rs_assets.CreatedDate  = DateTime.Now;
                        rs_assets.UpdatedDate  = DateTime.Now;
                        rs_assets.CurrentLocId = model.CurrentLocId;
                        rs_assets.OriginLocId  = model.OriginLocId;
                        rs_assets.OwnedBy      = model.OwnerId;
                        rs_assets.DivId        = model.DivId;
                        rs_assets.OwnerShipId  = model.OwnerShipId;
                        rs_assets.Availability = model.Availability;
                        string ownerShip = db.rs_ownership.Find(model.OwnerShipId).OwnerType;
                        int    divNo     = db.rs_division.Find(model.DivId).DivisionNo;

                        rs_assets.TrackingNo = AssetHelper.GenerateTrackingNo(ownerShip, divNo,
                                                                              rs_assets.IsSystem, rs_assets.PurchaseDate);

                        if (AssetHelper.IsImage(file))
                        {
                            file.SaveAs(HttpContext.Server.MapPath("~/AssetsImg/")
                                        + file.FileName);
                            rs_assets.ImageLink = file.FileName;
                        }
                        db.rs_assets.Add(rs_assets);
                        db.SaveChanges();

                        rs_assets_rel rel = new rs_assets_rel();
                        rel.AssetId = rs_assets.AssetId;
                        rel.SysId   = model.System.AssetId;
                        db.rs_assets_rel.Add(rel);
                        db.SaveChanges();

                        return(RedirectToAction("Details", new { id = model.System.AssetId }));
                    }
                    else
                    {
                        return(RedirectToAction("Details", new { id = model.System.AssetId }));
                    }
                }
                else
                {
                    return(RedirectToAction("NotAuthenticated", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
示例#7
0
        //[ValidateAntiForgeryToken]
        public ActionResult AttachSubAsset(FormCollection collection)
        {
            int SystemId   = 0;
            int SubAssetId = 0;

            Int32.TryParse(collection.Get("SubAssetId").ToString(), out SubAssetId);
            Int32.TryParse(collection.Get("SystemId").ToString(), out SystemId);

            JSonResponse result = new JSonResponse();

            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (SubAssetId != 0 && SystemId != 0)
                {
                    rs_assets rs_asset = db.rs_assets.Find(SubAssetId);
                    rs_assets system   = db.rs_assets.Find(SystemId);

                    if (system != null && rs_asset != null)
                    {
                        //check and only allow to attach if asset not attached before
                        rs_assets_rel exist = db.rs_assets_rel.FirstOrDefault(x => x.AssetId == SubAssetId && x.SysId == SystemId);
                        if (exist == null)
                        {
                            rs_assets_rel rel = new rs_assets_rel();
                            rel.AssetId = rs_asset.AssetId;
                            rel.SysId   = SystemId;
                            db.rs_assets_rel.Add(rel);
                            db.SaveChanges();
                        }
                        else
                        {
                            TempData["Notification"] = NotificationHelper.Inform("Selected Sub Asset already attached");
                        }

                        return(RedirectToAction("Details", new { id = SystemId }));
                    }
                    else
                    {
                        return(RedirectToAction("Details", new { id = SystemId }));
                    }
                }
                else
                {
                    return(RedirectToAction("NotAuthenticated", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("NotAuthenticated", "Home"));
            }
        }
示例#8
0
        public JsonResult AddAsset2([Bind(Include = "ParentId,Brand,Model,Desciption,SerialNumber,MaterialNo,HardwareOpt,SoftwareOpt,HardwareVer,SoftwareVer,LicenseExpiry,Accessories,Remarks,PurchaseDate,PurchasePrice,DecomDate,DecomReason,Tagged,Damaged,LastCalibrated,CalibrationCycle,CreatedDate,UpdatedDate,CreatedBy,OwnedBy,TrackingNo,ReadyToSell,Availability,OriginLocId,CurrentLocId,PurchasePO,DepreciationFormula,ImageLink,ViewedStats,BookingStats,FeaturedOrder,Featured,IsSystem")] rs_assets rs_assets, int SysId)
        {
            JSonResponse result = new JSonResponse();

            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (ModelState.IsValid)
                {
                    rs_assets system = db.rs_assets.Find(SysId);
                    if (system != null)
                    {
                        db.rs_assets.Add(rs_assets);
                        db.SaveChanges();

                        rs_assets_rel rel = new rs_assets_rel();
                        rel.AssetId = rs_assets.AssetId;
                        rel.SysId   = SysId;
                        db.rs_assets_rel.Add(rel);
                        db.SaveChanges();

                        result.Success = true;
                        result.Message = "Success";
                        return(Json(result, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        result.Success = false;
                        result.Message = "System Asset does not exists!";
                        return(Json(result, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    result.Success = false;
                    result.Message = "Invalid Parameters!";
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                result.Success = false;
                result.Message = "Unauthenticated Access!";
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
示例#9
0
 // GET: Assets/Delete/5 Delete Assets
 public ActionResult Delete(int?id)
 {
     if (AclHelper.hasAccess(User, currentAction, currentController))
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         rs_assets rs_assets = db.rs_assets.Find(id);
         if (rs_assets == null)
         {
             return(HttpNotFound());
         }
         return(View(rs_assets));
     }
     else
     {
         return(RedirectToAction("NotAuthenticated", "Home"));
     }
 }
示例#10
0
        /*
         * Function to populate the system model and related assets into a list
         */
        public static SystemModel GetSystemModel(int id)
        {
            PapayaEntities db     = new PapayaEntities();
            SystemModel    model  = new SystemModel();
            rs_assets      system = db.rs_assets.Where(x => x.AssetId == id).SingleOrDefault(); //AssetId must be unique

            if (system != null)
            {
                if (system.IsSystem)
                {
                    List <rs_assets>     assets    = new List <rs_assets>();
                    List <rs_assets_rel> relations = db.rs_assets_rel.Where(x => x.SysId == id).ToList();
                    foreach (rs_assets_rel rel in relations)
                    {
                        assets.Add(rel.rs_assets);
                    }
                    model.Assets = assets;
                }

                model.System = system;
            }
            return(model);
        }
示例#11
0
        public JsonResult GetAssetDetails(int assetId)
        {
            JsonAssetModel model = new JsonAssetModel();
            rs_assets      asset = db.rs_assets.Find(assetId);

            if (asset != null)
            {
                model.Brand        = asset.Brand;
                model.Model        = asset.Model;
                model.Description  = asset.Desciption;
                model.SerialNumber = asset.SerialNumber;
                model.OwnerShip    = asset.rs_ownership.OwnerType;
                model.Owner        = asset.rs_user.FullName;
                model.ImagePath    = asset.ImageLink;
                model.Success      = true;
            }
            else
            {
                model.Success = false;
                model.ErrMsg  = "Asset Not Found!";
            }

            return(Json(model));
        }
示例#12
0
 public BookModel()
 {
     Asset   = new rs_assets();
     booking = new rs_bookings();
 }
示例#13
0
        public JsonResult AddAssetJson(SystemModel model, HttpPostedFileBase file)
        {
            rs_assets    rs_assets = model.SubAsset;
            JSonResponse result    = new JSonResponse();

            if (AclHelper.hasAccess(User, currentAction, currentController))
            {
                if (ModelState.IsValid)
                {
                    rs_assets system = db.rs_assets.Find(model.System.AssetId);
                    if (system != null)
                    {
                        rs_assets.CurrentLocId = model.CurrentLocId;
                        rs_assets.OriginLocId  = model.OriginLocId;
                        rs_assets.OwnedBy      = model.OwnerId;
                        rs_assets.DivId        = model.DivId;
                        rs_assets.OwnerShipId  = model.OwnerShipId;
                        rs_assets.CreatedDate  = DateTime.Now;
                        rs_assets.UpdatedDate  = DateTime.Now;

                        string ownerShip = db.rs_ownership.Find(model.OwnerShipId).OwnerType;
                        int    divNo     = db.rs_division.Find(model.DivId).DivisionNo;

                        rs_assets.TrackingNo = AssetHelper.GenerateTrackingNo(ownerShip, divNo,
                                                                              rs_assets.IsSystem, rs_assets.PurchaseDate);


                        if (AssetHelper.IsImage(file))
                        {
                            file.SaveAs(HttpContext.Server.MapPath("~/AssetsImg/")
                                        + file.FileName);
                            rs_assets.ImageLink = file.FileName;
                        }
                        db.rs_assets.Add(rs_assets);
                        db.SaveChanges();

                        rs_assets_rel rel = new rs_assets_rel();
                        rel.AssetId = rs_assets.AssetId;
                        rel.SysId   = model.System.AssetId;
                        db.rs_assets_rel.Add(rel);
                        db.SaveChanges();

                        result.Success = true;
                        result.Message = "Success";
                        return(Json(result, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        result.Success = false;
                        result.Message = "System Asset does not exists!";
                        return(Json(result, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    result.Success = false;
                    result.Message = "Invalid Parameters!";
                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                result.Success = false;
                result.Message = "Unauthenticated Access!";
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
示例#14
0
 public SystemModel()
 {
     System   = new rs_assets();
     SubAsset = new rs_assets();
     Assets   = new List <rs_assets>();
 }