public async Task<ActionResult> DeleteConfirmed(long id)
 {
     SettingsViewModels settingsViewModels = await db.Settings.FindAsync(id);
     db.Settings.Remove(settingsViewModels);
     await db.SaveChangesAsync();
     return RedirectToAction("Index");
 }
Beispiel #2
0
        public async Task <IHttpActionResult> PutSettingsViewModels(long id, SettingsViewModels settingsViewModels)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != settingsViewModels.Id)
            {
                return(BadRequest());
            }

            db.Entry(settingsViewModels).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SettingsViewModelsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
 public async Task<ActionResult> Edit([Bind(Include = "Id,MaxPeopleAllowed,EuclidIP,EuclidMAC,EuclidPort,CameraTopic,PeopleTopic,DrowsinessTopic,PanicTopic,ServerIP,ServerMAC,ServerPort,DB_Name,ConnectionString")] SettingsViewModels settingsViewModels)
 {
     if (ModelState.IsValid)
     {
         db.Entry(settingsViewModels).State = EntityState.Modified;
         await db.SaveChangesAsync();
         return RedirectToAction("Index");
     }
     return View(settingsViewModels);
 }
Beispiel #4
0
        public async Task <IHttpActionResult> GetSettingsViewModels(long id)
        {
            SettingsViewModels settingsViewModels = await db.Settings.FindAsync(id);

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

            return(Ok(settingsViewModels));
        }
Beispiel #5
0
        public async Task <IHttpActionResult> PostSettingsViewModels(SettingsViewModels settingsViewModels)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Settings.Add(settingsViewModels);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = settingsViewModels.Id }, settingsViewModels));
        }
 // GET: Settings/Delete/5
 public async Task<ActionResult> Delete(long? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     SettingsViewModels settingsViewModels = await db.Settings.FindAsync(id);
     if (settingsViewModels == null)
     {
         return HttpNotFound();
     }
     return View(settingsViewModels);
 }
Beispiel #7
0
        public async Task <IHttpActionResult> DeleteSettingsViewModels(long id)
        {
            SettingsViewModels settingsViewModels = await db.Settings.FindAsync(id);

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

            db.Settings.Remove(settingsViewModels);
            await db.SaveChangesAsync();

            return(Ok(settingsViewModels));
        }
Beispiel #8
0
        private async void AppInisialSetupAsync()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));
            var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            //setting up the app
            if (context.Settings.Count() == 0)
            {
                var settings = new SettingsViewModels();
                settings.MaxPeopleAllowed = 3;
                string json;
                using (StreamReader r = new StreamReader(@"D:\Projects\FinalProject\CSA_Project\CSA_Project\CSA_Config\config.json"))
                {
                    json = r.ReadToEnd();
                }
                JObject jObject    = JObject.Parse(json);
                JToken  euclid     = jObject["euclid"];
                JToken  server     = jObject["server"];
                JToken  net        = jObject["neural_net"];
                JToken  db         = jObject["db_name"];
                JToken  connection = jObject["connection_string"];
                settings.DB_Name          = (string)db;
                settings.ConnectionString = (string)connection;
                settings.EuclidIP         = (string)euclid["ip"];
                settings.EuclidMAC        = (string)euclid["mac"];
                settings.EuclidPort       = (string)euclid["stream_port"];
                settings.CameraTopic      = (string)euclid["cam_topic"];

                settings.ServerIP   = (string)server["ip"];
                settings.ServerMAC  = (string)server["mac"];
                settings.ServerPort = (string)euclid["stream_port"];


                context.Settings.Add(settings);
                await context.SaveChangesAsync();
            }

            // In Startup iam creating first Admin Role and creating a default Admin User
            if (!roleManager.RoleExists("Master"))
            {
                // first we create Admin rool
                var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
                role.Name = "Master";
                roleManager.Create(role);
            }

            if (!roleManager.RoleExists("Admin"))
            {
                // first we create Admin rool
                var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
                role.Name = "Admin";
                roleManager.Create(role);
            }
            // creating Creating Employee role
            if (!roleManager.RoleExists("Viewer"))
            {
                var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
                role.Name = "Viewer";
                roleManager.Create(role);
            }
            if (context.SelectorModels.Count() == 0)
            {
                var selector = new SelectorModel();
                selector.SelectedValue = "People";
                context.SelectorModels.Add(selector);
                await context.SaveChangesAsync();
            }

            //create a default alert
            if (context.Alerts.Count() == 0)
            {
                var alert = new AlertsModel();
                alert.AlertType = "OK";
                alert.Code      = 200;
                alert.Message   = "OK";
                context.Alerts.Add(alert);
                await context.SaveChangesAsync();
            }
        }
        public async Task <ActionResult> Index()
        {
            Permission p    = new Permission();
            bool       auth = p.IsGranted(User.Identity.Name, this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + this.ControllerContext.RouteData.Values["action"].ToString());

            if (!auth)
            {
                return(new ViewResult()
                {
                    ViewName = "Unauthorized"
                });
            }
            else
            {
                var settings_aefcp = await db.Settings.FindAsync(SettingsValue.GUID_AutoEntryForCashPayments);

                var settings_usra = await db.Settings.FindAsync(SettingsValue.GUID_UserSetRoleAllowed);

                var settings_rafr = await db.Settings.FindAsync(SettingsValue.GUID_RoleAccessForReminders);

                var settings_fafts = await db.Settings.FindAsync(SettingsValue.GUID_FullAccessForTutorSchedule);

                var settings_sooud = await db.Settings.FindAsync(SettingsValue.GUID_ShowOnlyOwnUserData);

                var settings_resetpass = await db.Settings.FindAsync(SettingsValue.GUID_ResetPassword);

                var settings_fsh = await db.Settings.FindAsync(SettingsValue.GUID_FixSessionHours);

                var settings_prr = await db.Settings.FindAsync(SettingsValue.GUID_PayrollRatesRoles);

                List <string> role_for_reminder = new List <string>();
                if (!string.IsNullOrEmpty(settings_rafr.Value_String))
                {
                    string[] ids = settings_rafr.Value_String.Split(',');
                    foreach (var id in ids)
                    {
                        role_for_reminder.Add(id);
                    }
                }

                List <string> role_for_tutor_schedule = new List <string>();
                if (!string.IsNullOrEmpty(settings_fafts.Value_String))
                {
                    string[] ids = settings_fafts.Value_String.Split(',');
                    foreach (var id in ids)
                    {
                        role_for_tutor_schedule.Add(id);
                    }
                }

                List <string> role_for_own_data = new List <string>();
                if (!string.IsNullOrEmpty(settings_sooud.Value_String))
                {
                    string[] ids = settings_sooud.Value_String.Split(',');
                    foreach (var id in ids)
                    {
                        role_for_own_data.Add(id);
                    }
                }

                List <string> role_for_payroll_rates = new List <string>();
                if (!string.IsNullOrEmpty(settings_prr.Value_String))
                {
                    string[] ids = settings_prr.Value_String.Split(',');
                    foreach (var id in ids)
                    {
                        role_for_payroll_rates.Add(id);
                    }
                }

                SettingsViewModels settingsViewModels = new SettingsViewModels()
                {
                    AutoEntryForCashPayments          = settings_aefcp.Value_Guid ?? Guid.Empty,
                    AutoEntryForCashPayments_Notes    = settings_aefcp.Notes,
                    UserSetRoleAllowed                = settings_usra.Value_Guid ?? Guid.Empty,
                    UserSetRoleAllowed_Notes          = settings_usra.Notes,
                    RoleAccessForReminders            = role_for_reminder,
                    RoleAccessForReminders_Notes      = settings_rafr.Notes,
                    FullAccessForTutorSchedules       = role_for_tutor_schedule,
                    FullAccessForTutorSchedules_Notes = settings_fafts.Notes,
                    ShowOnlyOwnUserData               = role_for_own_data,
                    ShowOnlyOwnUserData_Notes         = settings_sooud.Notes,
                    ResetPassword           = settings_resetpass.Value_String,
                    ResetPassword_Notes     = settings_resetpass.Notes,
                    FixSessionHours         = settings_fsh.Value_String,
                    FixSessionHours_Notes   = settings_fsh.Notes,
                    PayrollRatesRoles       = role_for_payroll_rates,
                    PayrollRatesRoles_Notes = settings_prr.Notes
                };

                ViewBag.listCategory = new SelectList(db.PettyCashRecordsCategories.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name");
                ViewBag.listRole     = new SelectList(db.Role.OrderBy(x => x.Name).ToList(), "Id", "Name");
                ViewBag.password     = settings_resetpass.Value_String;
                return(View(settingsViewModels));
            }
        }
        public async Task <ActionResult> Index([Bind(Include = "AutoEntryForCashPayments,AutoEntryForCashPayments_Notes,UserSetRoleAllowed,UserSetRoleAllowed_Notes,RoleAccessForReminders,RoleAccessForReminders_Notes,FullAccessForTutorSchedules,FullAccessForTutorSchedules_Notes,ShowOnlyOwnUserData,ShowOnlyOwnUserData_Notes,ResetPassword,ResetPassword_Notes,PayrollRatesRoles,PayrollRatesRoles_Notes")] SettingsViewModels settingsViewModels)
        {
            if (settingsViewModels.AutoEntryForCashPayments == Guid.Empty || settingsViewModels.AutoEntryForCashPayments == null)
            {
                //ModelState.AddModelError("AutoEntryForCashPayments", "The field Auto Entry for Cash Payments is required.");
                ModelState.AddModelError("ValidationMessage", "The field Auto Entry for Cash Payments is required.");
            }

            if (settingsViewModels.RoleAccessForReminders == null)
            {
                //ModelState.AddModelError("RoleAccessForReminders", "The field Role for Reminders is required.");
                ModelState.AddModelError("ValidationMessage", "The field Role for Reminders is required.");
            }

            if (settingsViewModels.FullAccessForTutorSchedules == null)
            {
                //ModelState.AddModelError("FullAccessForTutorSchedules", "The field Role for Tutor Schedule is required.");
                ModelState.AddModelError("ValidationMessage", "The field Role for Tutor Schedule is required.");
            }

            if (settingsViewModels.ShowOnlyOwnUserData == null)
            {
                ModelState.AddModelError("ValidationMessage", "The field Show Only Own User Data is required.");
            }

            if (settingsViewModels.UserSetRoleAllowed == Guid.Empty || settingsViewModels.UserSetRoleAllowed == null)
            {
                //ModelState.AddModelError("UserSetRoleAllowed", "The field User Set Role Allowed is required.");
                ModelState.AddModelError("ValidationMessage", "The field User Set Role Allowed is required.");
            }

            if (string.IsNullOrEmpty(settingsViewModels.ResetPassword))
            {
                ModelState.AddModelError("ValidationMessage", "The field Reset Password is required.");
            }
            else
            {
                if (settingsViewModels.ResetPassword.Length < 6)
                {
                    ModelState.AddModelError("ValidationMessage", "The field Reset Password must be 6 characters or more.");
                }
            }

            if (settingsViewModels.PayrollRatesRoles == null)
            {
                ModelState.AddModelError("ValidationMessage", "The field Payroll Rates Roles is required.");
            }

            if (ModelState.IsValid)
            {
                SettingsModels settingsModels_aefcp = await db.Settings.FindAsync(SettingsValue.GUID_AutoEntryForCashPayments);

                settingsModels_aefcp.Value_Guid      = settingsViewModels.AutoEntryForCashPayments;
                settingsModels_aefcp.Notes           = settingsViewModels.AutoEntryForCashPayments_Notes;
                db.Entry(settingsModels_aefcp).State = EntityState.Modified;

                SettingsModels settingsModels_usra = await db.Settings.FindAsync(SettingsValue.GUID_UserSetRoleAllowed);

                settingsModels_usra.Value_Guid      = settingsViewModels.UserSetRoleAllowed;
                settingsModels_usra.Notes           = settingsViewModels.UserSetRoleAllowed_Notes;
                db.Entry(settingsModels_usra).State = EntityState.Modified;

                SettingsModels settingsModels_rafr = await db.Settings.FindAsync(SettingsValue.GUID_RoleAccessForReminders);

                settingsModels_rafr.Value_String    = string.Join(",", settingsViewModels.RoleAccessForReminders);
                settingsModels_rafr.Notes           = settingsViewModels.RoleAccessForReminders_Notes;
                db.Entry(settingsModels_rafr).State = EntityState.Modified;

                SettingsModels settingsModels_fafts = await db.Settings.FindAsync(SettingsValue.GUID_FullAccessForTutorSchedule);

                settingsModels_fafts.Value_String    = string.Join(",", settingsViewModels.FullAccessForTutorSchedules);
                settingsModels_fafts.Notes           = settingsViewModels.FullAccessForTutorSchedules_Notes;
                db.Entry(settingsModels_fafts).State = EntityState.Modified;

                SettingsModels settingsModels_sooud = await db.Settings.FindAsync(SettingsValue.GUID_ShowOnlyOwnUserData);

                settingsModels_sooud.Value_String    = string.Join(",", settingsViewModels.ShowOnlyOwnUserData);
                settingsModels_sooud.Notes           = settingsViewModels.ShowOnlyOwnUserData_Notes;
                db.Entry(settingsModels_sooud).State = EntityState.Modified;

                SettingsModels settingsModels_resetpass = await db.Settings.FindAsync(SettingsValue.GUID_ResetPassword);

                settingsModels_resetpass.Value_String    = settingsViewModels.ResetPassword;
                settingsModels_resetpass.Notes           = settingsViewModels.ResetPassword_Notes;
                db.Entry(settingsModels_resetpass).State = EntityState.Modified;

                SettingsModels settingsModels_prr = await db.Settings.FindAsync(SettingsValue.GUID_PayrollRatesRoles);

                settingsModels_prr.Value_String    = string.Join(",", settingsViewModels.PayrollRatesRoles);
                settingsModels_prr.Notes           = settingsViewModels.PayrollRatesRoles_Notes;
                db.Entry(settingsModels_prr).State = EntityState.Modified;

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.listCategory = new SelectList(db.PettyCashRecordsCategories.Where(x => x.Active == true).OrderBy(x => x.Name).ToList(), "Id", "Name");
            ViewBag.listRole     = new SelectList(db.Role.OrderBy(x => x.Name).ToList(), "Id", "Name");
            ViewBag.password     = settingsViewModels.ResetPassword;
            return(View(settingsViewModels));
        }