예제 #1
0
 public async Task <ActionResult> Edit(AddSiteViewModel model)
 {
     try
     {
         if (model.SiteName != null)
         {
             string    domainId = DomainSession.GetContextDomain(this.HttpContext);
             iotDomain d        = Icont.Domains.First(dm => dm.DomainName.Equals(domainId));
             Location  loc      = d.Locations.First(l => l.Id == d.Id);
             if (loc != null)
             {
                 model.site.siteLocation = loc;
                 model.site.Domain       = d;
                 Icont.Sites.Add(model.site);
                 Icont.SaveChanges();
                 var stored = Icont.Sites.First(s => s.SiteName.Equals(model.site.SiteName));
                 model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(stored);
             }
             return(View(model));
         }
         else
         {
             model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
         }
     }
     catch (Exception e)
     {
         model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
     }
     return(View(model));
 }
예제 #2
0
        public async Task <ActionResult> AddType(DeviceAddTypeModel model)
        {
            try
            {
                if (model.Type != null)
                {
                    var       cont     = (iotContext)System.Web.HttpContext.Current.Session["iotcontext"];
                    string    domainId = DomainSession.GetContextDomain(this.HttpContext);
                    iotDomain domain   = cont.Domains.First(d => d.DomainName.Equals(domainId));
                    domain.DeviceTypes.Add(model.Type);
                    await cont.SaveChangesAsync();

                    model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Success.",
                                                                                       RequestStatus.Success);
                }
                else
                {
                    model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
                }
            }
            catch (Exception e)
            {
                model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
            }
            return(View(model));
        }
예제 #3
0
        public string New(string Name, string Lat, string Lng)
        {
            try
            {
                string username           = User.Identity.Name;
                ApplicationDbContext cont = new ApplicationDbContext();
                var user = (from u in cont.Users
                            where u.UserName == username
                            select u).First();


                IIotContextBase icont    = (iotContext)System.Web.HttpContext.Current.Session["iotcontext"];
                string          domainId = DomainSession.GetContextDomain(this.HttpContext);
                iotDomain       d        = icont.Domains.First(dm => dm.DomainName.Equals(domainId));

                Location loc = new Location();
                loc.Domain       = d;
                loc.LocationName = Name;
                loc.Lng          = double.Parse(Lng, CultureInfo.InvariantCulture);
                loc.Lat          = double.Parse(Lat, CultureInfo.InvariantCulture);
                d.Locations.Add(loc);
                icont.SaveChanges();
                return(StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Location added sucessfully.", RequestStatus.Success));
            }
            catch (Exception e)
            {
                return(StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Location add failed.", RequestStatus.Failure));
            }
        }
예제 #4
0
        public string New(string name, string locId)
        {
            try
            {
                string    domainId = DomainSession.GetContextDomain(this.HttpContext);
                iotDomain d        = Icont.Domains.First(dm => dm.DomainName.Equals(domainId));
                int       locIdnum = int.Parse(locId);
                Location  loc      = d.Locations.First(l => l.Id == locIdnum);
                if (loc != null)
                {
                    Site site = new Site();
                    site.SiteName     = name;
                    site.siteLocation = loc;
                    site.Domain       = d;
                    Icont.Sites.Add(site);
                    Icont.SaveChanges();
                }
                else
                {
                    return(StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Location not found.", RequestStatus.Warning));
                }
            }
            catch (Exception e)
            {
                return(StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Add error.", RequestStatus.Failure));
            }

            return(StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Add success.", RequestStatus.Success));
        }
예제 #5
0
        public async Task <ActionResult> Edit(IotRoleModel model)
        {
            try
            {
                var d = DomainSession.GetDomainForHttpContext(this.HttpContext);
                if (ModelState.IsValid)
                {
                    ApplicationDbContext ucont = new ApplicationDbContext();
                    var roleManager            = new RoleManager <IotUserRole>(new RoleStore <IotUserRole>(ucont));
                    if (roleManager.RoleExists(model.Role.Name))
                    {
                        await roleManager.UpdateAsync(model.Role);

                        model.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Success.", RequestStatus.Success));
                    }
                    else
                    {
                        model.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Failure.", RequestStatus.Failure));
                    }
                }
                else
                {
                    model.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Failure.", RequestStatus.Failure));
                }
                return(View(model));
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
예제 #6
0
        public ActionResult Remove(int Id)
        {
            var provider = new DeviceProvider(DomainSession.GetDataContextForUserContext(this.HttpContext));
            var Result   = StatusResponseGenerator.GetStatusResponseResultForReturnParam(provider.RemoveById(Id));

            return(View());
        }
예제 #7
0
        public ActionResult Remove(int Id)
        {
            this._provider = new ZoneConfigurationService(DomainSession.GetAlarmConfigForContextSession(this.HttpContext));
            AlarmSystemZoneConfigModel model = new AlarmSystemZoneConfigModel(_provider.GetAll());
            bool remRes = _provider.RemoveById(Id);

            model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(remRes);
            return(View(model));
        }
예제 #8
0
        public ActionResult Remove(sconnEvent Device)
        {
            AlarmSystemAddAuthorizedDeviceModel model = new AlarmSystemAddAuthorizedDeviceModel();

            this._provider = new EventsService(DomainSession.GetAlarmConfigForContextSession(this.HttpContext));
            var remRes = this._provider.Remove(Device);

            model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(remRes);
            return(View(model));
        }
예제 #9
0
        public ActionResult Remove(sconnAlarmZone Zone)
        {
            AlarmSystemZoneAddModel model = new AlarmSystemZoneAddModel();

            this._provider = new ZoneConfigurationService(DomainSession.GetAlarmConfigForContextSession(this.HttpContext));
            var remRes = this._provider.Remove(Zone);

            model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(remRes);
            return(View(model));
        }
예제 #10
0
 public async Task <ActionResult> Add(DeviceAddModel model)
 {
     try
     {
         var provider = new DeviceProvider(DomainSession.GetDataContextForUserContext(this.HttpContext));
         model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(provider.Add(model.Device, model.LocationId, model.TypeId, model.DeviceSiteId));
         return(View(model));
     }
     catch (Exception e)
     {
         return(View());
     }
 }
 public async Task <ActionResult> Edit(AlarmSystemAddAuthorizedDeviceModel model)
 {
     try
     {
         this._provider = new AuthorizedDevicesConfigurationService(DomainSession.GetAlarmConfigForContextSession(this.HttpContext));
         var res = (_provider.Update(model.AuthorizedDevice));
         model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(res);
     }
     catch (Exception e)
     {
         model.Result = StatusResponseGenerator.GetRequestResponseCriticalError();
     }
     return(View(model));
 }
예제 #12
0
 public async Task <ActionResult> Add(AlarmSystemZoneAddModel model)
 {
     try
     {
         this._provider = new ZoneConfigurationService(DomainSession.GetAlarmConfigForContextSession(this.HttpContext));
         if (ModelState.IsValid)
         {
             var res = (_provider.Add(model.Zone));
             model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(res);
         }
     }
     catch (Exception e)
     {
         model.Result = StatusResponseGenerator.GetRequestResponseCriticalError();
     }
     return(View(model));
 }
예제 #13
0
        // GET: DeviceTypes
        public ActionResult Index()
        {
            DeviceTypesListModel model = new DeviceTypesListModel();

            try
            {
                var       cont     = (iotContext)System.Web.HttpContext.Current.Session["iotcontext"];
                string    domainId = DomainSession.GetContextDomain(this.HttpContext);
                iotDomain domain   = cont.Domains.First(d => d.DomainName.Equals(domainId));
                model = new DeviceTypesListModel(domain.DeviceTypes);
            }
            catch (Exception e)
            {
                model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
            }
            return(View(model));
        }
 public async Task <ActionResult> Status(AlarmSystemDeviceModel model)
 {
     try
     {
         this._provider = new DeviceConfigService(DomainSession.GetAlarmConfigForContextWithDeviceId(this.HttpContext, model.ServerId), model.Device.DeviceId);
         if (ModelState.IsValid)
         {
             var res = (_provider.Update(model.Device));
             model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(res);
         }
         return(Status(model.ServerId, model.Device.DeviceId));
     }
     catch (Exception e)
     {
         model.Result = StatusResponseGenerator.GetRequestResponseCriticalError();
     }
     return(Status(model.ServerId, model.Device.DeviceId));
 }
예제 #15
0
        public async Task <ActionResult> Add(UserCreateModel model)
        {
            try
            {
                var d    = DomainSession.GetDomainForHttpContext(this.HttpContext);
                var nmod = new UserCreateModel(d);

                if (ModelState.IsValid)
                {
                    ApplicationDbContext ucont = new ApplicationDbContext();
                    var userMan = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

                    var result = await userMan.CreateAsync(model.User, model.Password);

                    if (result.Succeeded)
                    {
                        if (model.Roles != null)
                        {
                            foreach (var role in model.Roles)
                            {
                                if (role.Active)   //use activation status as select for role
                                {
                                    userMan.AddToRole(model.User.Id, role.Name);
                                }
                            }
                        }
                        nmod.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Success.", RequestStatus.Success));
                    }
                    else
                    {
                        nmod.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Failure.", RequestStatus.Failure));
                    }
                }
                else
                {
                    nmod.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Failure.", RequestStatus.Failure));
                }
                return(View(nmod));
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
예제 #16
0
 public async Task <ActionResult> Edit(DeviceEditModel model)
 {
     try
     {
         if (model.Device != null)
         {
             var provider = new DeviceProvider(DomainSession.GetDataContextForUserContext(this.HttpContext));
             model.Result = StatusResponseGenerator.GetStatusResponseResultForReturnParam(provider.Update(model.Device));
             return(View(model));
         }
         else
         {
             model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
         }
     }
     catch (Exception e)
     {
         model.Result = StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Error.", RequestStatus.Failure);
     }
     return(View(model));
 }
예제 #17
0
        public async Task <ActionResult> Edit(UserCreateModel model)
        {
            try
            {
                var d = DomainSession.GetDomainForHttpContext(this.HttpContext);
                if (ModelState.IsValid)
                {
                    ApplicationDbContext ucont = new ApplicationDbContext();
                    var userMan = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));

                    var user = ucont.Users.FirstOrDefault(u => u.UserName.Equals(model.User.UserName));
                    if (user != null)
                    {
                        String hashedNewPassword          = userMan.PasswordHasher.HashPassword(model.Password);
                        UserStore <ApplicationUser> store = new UserStore <ApplicationUser>();
                        await store.SetPasswordHashAsync(user, hashedNewPassword);

                        user.DomainId = model.User.DomainId;
                        user.UserName = model.User.UserName;
                        await ucont.SaveChangesAsync();

                        var userRoles = userMan.GetRoles(model.User.Id);
                        if (model.Roles.Count() != userRoles.Count)
                        {
                            //remove all roles first
                            foreach (var role in userRoles)
                            {
                                userMan.RemoveFromRole(model.User.Id, role);
                            }
                            //add model roles
                            foreach (var role in model.Roles)
                            {
                                if (role.Active)   //use activation status as select for role
                                {
                                    userMan.AddToRole(model.User.Id, role.Name);
                                }
                            }
                        }
                    }

                    var result = await userMan.CreateAsync(model.User, model.Password);

                    if (result.Succeeded)
                    {
                        model.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Success.", RequestStatus.Success));
                    }
                    else
                    {
                        model.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Failure.", RequestStatus.Failure));
                    }
                }
                else
                {
                    model.Result = (StatusResponseGenerator.GetAlertPanelWithMsgAndStat("Failure.", RequestStatus.Failure));
                }
                return(View(model));
            }
            catch (Exception e)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }