Example #1
0
        public async Task SaveAsync(InstitutionType entity)
        {
            try
            {
                if (entity == null)
                {
                    return;
                }

                using (var timeLineContext = _contextFactory.GetTimeLineContext())
                {
                    var entityModel = await timeLineContext
                                      .InstitutionTypes
                                      .FirstOrDefaultAsync(item => item.Id.Equals(entity.Id));

                    if (entityModel == null)
                    {
                        entityModel = new DA.InstitutionType();
                        MapForUpdateentity(entity, entityModel);
                        await timeLineContext.InstitutionTypes.AddAsync(entityModel);
                    }
                    else
                    {
                        MapForUpdateentity(entity, entityModel);
                    }


                    timeLineContext.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void BindFormElements()
        {
            //Bind the Region Lookup (Zone and Woredas will be bind after selection Region)
            lkRegion.Properties.DataSource = BLL.Region.GetAllRegions().DefaultView;
            lkRegion.EditValue             = GeneralInfo.Current.Region;

            //Bind the Receiving units Types Lookup
            InstitutionType institutionsTypes = new InstitutionType();

            institutionsTypes.LoadAll();
            institutionsTypes.Sort       = "Name ASC";
            lkType.Properties.DataSource = institutionsTypes.DefaultView;
            lkType.EditValue             = InstitutionType.Constants.HEALTH_CENTER;

            //Bind the Ownership Type Lookup
            OwnershipType ownershipTypes = new OwnershipType();

            ownershipTypes.LoadAll();
            ownershipTypes.Sort = "Name ASC";
            lkOwnership.Properties.DataSource = ownershipTypes.DefaultView;
            lkOwnership.EditValue             = OwnershipType.Constants.Public;

            //Bind the Active lookup
            lkActive.Properties.ValueMember = lkActive.Properties.DisplayMember = "Column";
            lkActive.Properties.DataSource  = new string[3] {
                "All", "Active", "InActive"
            };
            lkActive.ItemIndex = 0;
            LoadReceivingUnits();
        }
Example #3
0
        private static void AddInstitutionType(CitationUniSofiaContext db)
        {
            var institutionType = new string[]
            {
                "Университет",
                "Академия",
                "Дружество",
                "Библиотека"
            };

            var institutionTypeCollection = new List <InstitutionType>();

            foreach (var inst in institutionType)
            {
                var currInst = new InstitutionType
                {
                    Name = inst
                };

                institutionTypeCollection.Add(currInst);
            }

            db.InstitutionsTypes.AddRange(institutionTypeCollection);
            db.SaveChanges();
        }
Example #4
0
        public async Task <IActionResult> Edit(long id, [Bind("InstitutionTypeId,InstitutionTypeDesc,InstitutionTypeCode")] InstitutionType institutionType)
        {
            if (id != institutionType.InstitutionTypeId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(institutionType);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!InstitutionTypeExists(institutionType.InstitutionTypeId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(institutionType));
        }
Example #5
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            InstitutionType institutionType = db.InstitutionTypes.Find(id);

            db.InstitutionTypes.Remove(institutionType);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #6
0
        /// <summary>
        /// Осуществляет поиск кратчайшего пути до необходимого типа постройки в «городе».
        /// Если построек такого типа несколько, то возвращает путь только до той, который оказался самым кратчайшим.
        /// Если не удалось найти, то возвращает пустой путь.
        /// </summary>
        /// <param name="graph">Граф, соответствующий городу, в котором будем искать путь.</param>
        /// <param name="startPoint">Стартовая точка, из которой ищем путь.</param>
        /// <param name="institutionType">Тип постройки, к которой ищем путь.</param>
        /// <returns>Объект с информацией о найденном или не найденном пути.</returns>
        public static PathInfo FindPathTo(Graph graph, Vertex startPoint, InstitutionType institutionType)
        {
            PathInfo shortestPath       = PathInfo.CreateEmptyPath();
            float    shortestPathLength = float.MaxValue;

            /**
             * Для нахождения вершин в графе, которые соответствуют нужной нам постройке,
             * осуществляется проход по всем вершинам, и ищется объект нужного нам типа.
             * Далее вызывается алгоритм Дейкстры до найденной вершины. Так повторяется до тех пор, пока
             * не пройдемся по всем нужным нам вершинам. Далее среди всех найденных путей ищется тот, который
             * является наикратчайшим.
             */

            foreach (Vertex vertex in graph.Vertices)
            {
                // Стартовая точка не может оказаться конечной.
                if (vertex == startPoint)
                {
                    continue;
                }

                Institution institution = vertex.Tag as Institution;
                if (institution != null && institution.GetInstitutionType() == institutionType)
                {
                    DijkstraAlgorithm dijkstraAlgorithm = new DijkstraAlgorithm(graph);
                    PathInfo          pathInfo          = dijkstraAlgorithm.FindShortestPath(startPoint, vertex);

                    if (pathInfo.IsEmptyPath())
                    {
                        continue;
                    }
                    if (pathInfo.TotalLength > shortestPathLength)
                    {
                        continue;
                    }

                    // На слишком малых расстояниях между узлами, может быть проблема, что дистанция одинаковая.
                    // Поэтому в таких случаях берем элемент с наименьшим числом узлов.
                    if (pathInfo.TotalLength == shortestPathLength)
                    {
                        if (pathInfo.Path.Length < shortestPath.Path.Length)
                        {
                            shortestPath       = pathInfo;
                            shortestPathLength = pathInfo.TotalLength;
                        }
                    }
                    else
                    {
                        shortestPath       = pathInfo;
                        shortestPathLength = pathInfo.TotalLength;
                    }
                }
            }

            return(shortestPath);
        }
Example #7
0
 public ActionResult Edit([Bind(Include = "InstitutionTypeId,InstitutionTypeName,DateEntered,DateModified,CreatedByUserId,ModifiedByUserId")] InstitutionType institutionType)
 {
     if (ModelState.IsValid)
     {
         db.Entry(institutionType).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(institutionType));
 }
Example #8
0
 public ActionResult Edit([Bind(Include = "id,Type,Description")] InstitutionType institutionType)
 {
     if (ModelState.IsValid)
     {
         db.Entry(institutionType).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(institutionType));
 }
Example #9
0
        public async Task <IActionResult> Create([Bind("InstitutionTypeId,InstitutionTypeDesc,InstitutionTypeCode")] InstitutionType institutionType)
        {
            if (ModelState.IsValid)
            {
                _context.Add(institutionType);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(PartialView(institutionType));
        }
Example #10
0
        public ActionResult Create([Bind(Include = "id,Type,Description")] InstitutionType institutionType)
        {
            if (ModelState.IsValid)
            {
                db.InstitutionTypes.Add(institutionType);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(institutionType));
        }
Example #11
0
        public IActionResult InsertOrUpdateInstitutionType(InstitutionType institutionType)
        {
            Action action = Action.None;

            if (ModelState.IsValid)
            {
                if (institutionType.Id == 0)
                {
                    action = Action.Create;
                    _unitWork.InstitutionType.Add(institutionType);
                }
                else
                {
                    action = Action.Update;
                    _unitWork.InstitutionType.Update(institutionType);
                }

                try
                {
                    _unitWork.Save();

                    if (action == Action.Create)
                    {
                        _notyfService.Success("Tipo de institución creada correctamente.");
                    }
                    if (action == Action.Update)
                    {
                        _notyfService.Success("Tipo de institución actualizada correctamente.");
                    }

                    return(RedirectToAction(nameof(Index)));
                }
                catch (DbUpdateException dbUpdateException)
                {
                    if (dbUpdateException.InnerException.Message.Contains("IX_InstitutionTypes_Name"))
                    {
                        _notyfService.Error("Ya existe un tipo de institución con el mismo nombre.");

                        return(View(institutionType));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, dbUpdateException.InnerException.Message);
                    }
                }
                catch (Exception exception)
                {
                    ModelState.AddModelError(string.Empty, exception.Message);
                }
            }

            return(View(institutionType));
        }
Example #12
0
        public ActionResult Create([Bind(Include = "InstitutionTypeId,InstitutionTypeName,DateEntered,DateModified,CreatedByUserId,ModifiedByUserId")] InstitutionType institutionType)
        {
            if (ModelState.IsValid)
            {
                institutionType.InstitutionTypeId = Guid.NewGuid();
                db.InstitutionTypes.Add(institutionType);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(institutionType));
        }
Example #13
0
 public async Task <IActionResult> Put([FromBody] InstitutionType value)
 {
     try
     {
         var entity = _mapper.Map <BL.InstitutionType>(value);
         var id     = _service.SaveAsync(entity);
         return(Ok(id));
     }
     catch (Exception)
     {
         return(BadRequest());
     }
 }
Example #14
0
        // GET: InstitutionTypes/Delete/5
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InstitutionType institutionType = db.InstitutionTypes.Find(id);

            if (institutionType == null)
            {
                return(HttpNotFound());
            }
            return(View(institutionType));
        }
Example #15
0
        public IActionResult InsertOrUpdateInstitutionType(int?id)
        {
            InstitutionType institutionType = new InstitutionType();

            if (id == null)
            {
                institutionType.Active = true;
                // Crea un nuevo registro
                return(View(institutionType));
            }
            // Actualiza el registro
            //institutionType = _unitWork
            institutionType = _unitWork.InstitutionType.Get(id.GetValueOrDefault());
            if (institutionType == null)
            {
                return(NotFound());
            }
            return(View(institutionType));
        }
Example #16
0
        /// <summary>
        /// Выводит список доступных учреждений, а также спрашивает у пользователя тип нужный ему
        /// тип учреждения. Если пользователь указал корректный тип, то возвращает true, а в
        /// <paramref name="institutionType"/> записывает этот самый тип.
        /// Если тип был указан некорректно, то возвращает false.
        /// </summary>
        /// <param name="institutionType">Возвращаемый тип учреждения, который выбрал пользователь.</param>
        /// <returns>true, если тип учреждения корректный. false, если нет.</returns>
        private static bool TryAskEndPoint(out InstitutionType institutionType)
        {
            Console.WriteLine("Доступные виды учреждений: ");
            string[] availableInstitutions = Enum.GetNames(typeof(InstitutionType));
            for (int i = 0; i < availableInstitutions.Length; i++)
            {
                Console.WriteLine($"{i}. {availableInstitutions[i]}");
            }

            Console.Write("Введите номер типа учреждения, к которому будет искаться путь: ");
            string answer = Console.ReadLine();

            if (!Enum.TryParse(answer, out institutionType))
            {
                Console.WriteLine("Введен некорректный номер.");
                return(false);
            }

            return(true);
        }
Example #17
0
        private void LoadReceivingUnits()
        {
            BLL.Region reg = new BLL.Region();
            reg.LoadAll();
            lkRegion.Properties.DataSource = reg.DefaultView;

            BLL.InstitutionType ruType = new InstitutionType();
            ruType.Where.IsActive.Value = 1;
            ruType.Query.Load();
            lkRUType.Properties.DataSource = ruType.DefaultView;

            BLL.OwnershipType ownershipType = new OwnershipType();
            ownershipType.LoadAll();
            lkOwnership.Properties.DataSource = ownershipType.DefaultView;

            Route r = new Route();

            r.LoadAll();
            lkRoute.Properties.DataSource = r.DefaultView;
        }
Example #18
0
        /// <summary>
        /// Осуществляет поиск кратчайшего пути до необходимого типа постройки в «городе».
        /// Если построек такого типа несколько, то возвращает путь только до той, который оказался самым кратчайшим.
        /// Если не удалось найти, то возвращает пустой путь.
        /// </summary>
        /// <param name="city">Объект с городом, поиск пути в котором необходимого выполнить.</param>
        /// <param name="startInstitution">Стартовый объект, из которой ищем путь.</param>
        /// <param name="institutionType">Тип постройки, к которой ищем путь.</param>
        /// <returns>Объект с информацией о найденном или не найденном пути.</returns>
        public static CityPathInfo FindPathTo(City.City city, Institution startInstitution,
                                              InstitutionType institutionType)
        {
            Graph  graph       = ConvertCityToGraph(city);
            Vertex startVertex = graph.Vertices.FirstOrDefault(vertex => vertex.Tag == startInstitution);

            if (startVertex == null)
            {
                throw new ArgumentException("'startInstitution' is not found in the 'city' object",
                                            nameof(startInstitution));
            }


            PathInfo     pathInfo     = FindPathTo(graph, startVertex, institutionType);
            CityPathInfo cityPathInfo = new CityPathInfo(
                pathInfo.Path.Select(vertex => vertex.Tag as Institution).ToArray(),
                pathInfo.TotalLength);

            return(cityPathInfo);
        }
Example #19
0
        public static void Initialize(DatabaseContext context)
        {
            context.Database.EnsureCreated();


            if (!context.InstitutionTypes.Any())
            {
                var institutionTypes = new InstitutionType[]
                {
                    new InstitutionType {
                        Name = "Primary school"
                    },
                    new InstitutionType {
                        Name = "Secondary school"
                    },
                    new InstitutionType {
                        Name = "University"
                    },
                };
                foreach (InstitutionType institutionType in institutionTypes)
                {
                    context.InstitutionTypes.Add(institutionType);
                }
                context.SaveChanges();
            }

            if (!context.AcademicPeriods.Any())
            {
                var academicPeriods = new AcademicPeriod[]
                {
                    new AcademicPeriod {
                        Name = "2020/2021 First term"
                    },
                    new AcademicPeriod {
                        Name = "2020/2021 Second term"
                    },
                    new AcademicPeriod {
                        Name = "2020/2021 Third term"
                    },
                    new AcademicPeriod {
                        Name = "2020/2021 First Semester"
                    },
                    new AcademicPeriod {
                        Name = "2020/2021 Second Semester"
                    },
                };
                foreach (AcademicPeriod academicPeriod in academicPeriods)
                {
                    context.AcademicPeriods.Add(academicPeriod);
                }
                context.SaveChanges();
            }


            if (!context.UserTypes.Any())
            {
                var userTypes = new UserType[]
                {
                    new UserType {
                        Name = "Teacher"
                    },
                    new UserType {
                        Name = "School Administrator"
                    },
                    new UserType {
                        Name = "State Administrator"
                    },
                    new UserType {
                        Name = "Ministry Administrator"
                    },
                    new UserType {
                        Name = "Administrator"
                    },
                };
                foreach (UserType userType in userTypes)
                {
                    context.UserTypes.Add(userType);
                }
                context.SaveChanges();
            }

            if (!context.AcademicAssessmentTypes.Any())
            {
                var academicAssessmentTypes = new AcademicAssessmentType[]
                {
                    new AcademicAssessmentType {
                        Name = "Examinations"
                    },
                    new AcademicAssessmentType {
                        Name = "Tests"
                    },
                    new AcademicAssessmentType {
                        Name = "Assignment"
                    },
                    new AcademicAssessmentType {
                        Name = "Classwork"
                    },
                };
                foreach (AcademicAssessmentType academicAssessmentType in academicAssessmentTypes)
                {
                    context.AcademicAssessmentTypes.Add(academicAssessmentType);
                }
                context.SaveChanges();
            }


            if (!context.Subjects.Any())
            {
                var subjects = new Subject[]
                {
                    new Subject {
                        Name = "Mathematics"
                    },
                    new Subject {
                        Name = "English Language"
                    },
                    new Subject {
                        Name = "Physics"
                    },
                    new Subject {
                        Name = "Chemistry"
                    },
                    new Subject {
                        Name = "Biology"
                    },
                    new Subject {
                        Name = "Further Mathematics"
                    },
                };
                foreach (Subject subject in subjects)
                {
                    context.Subjects.Add(subject);
                }
                context.SaveChanges();
            }



            if (!context.Classes.Any())
            {
                var classes = new Class[]
                {
                    new Class {
                        Name = "Junior Secondary School 3", Code = "JSS1"
                    },
                    new Class {
                        Name = "Senior Secondary School 3", Code = "SSS1"
                    },
                    new Class {
                        Name = "Level 1", Code = "100 Level"
                    },
                };
                foreach (Class c in classes)
                {
                    context.Classes.Add(c);
                }
                context.SaveChanges();
            }


            if (!context.States.Any())
            {
                var states = new State[]
                {
                    new State {
                        Name = "Lagos State Ministry of Education"
                    },
                    new State {
                        Name = "Ondo State Ministry of Education"
                    },
                    new State {
                        Name = "Edo State Ministry of Education"
                    },
                    new State {
                        Name = "Kano State Ministry of Education"
                    },
                    new State {
                        Name = "Abia State Ministry of Education"
                    },
                    new State {
                        Name = "Anambra State Ministry of Education"
                    },
                };
                foreach (State state in states)
                {
                    context.States.Add(state);
                }
                context.SaveChanges();
            }


            if (!context.Schools.Any())
            {
                var schools = new School[]
                {
                    new School {
                        Name = "University Of Lagos", Address = "Lagos", ContactNumber = "09099017735", StateId = 1, EmailAddress = "*****@*****.**", InstitutionTypeId = 3
                    },
                    new School {
                        Name = "Government College Ikorodu", Address = "Ikorodu, Lagos", ContactNumber = "09099017735", StateId = 1, EmailAddress = "*****@*****.**", InstitutionTypeId = 2
                    },
                    new School {
                        Name = "Government College Ikorodu", Address = "Ikorodu, Lagos", ContactNumber = "09099017735", StateId = 1, EmailAddress = "*****@*****.**", InstitutionTypeId = 2
                    },
                    new School {
                        Name = "Lagos State Model College, Igbonla", Address = "Igbonla, Lagos", ContactNumber = "08022342761", StateId = 1, InstitutionTypeId = 2
                    },
                    new School {
                        Name = "Citadel International College, Ikare Akoko", Address = "Ikare Akoko, Ondo", ContactNumber = "08022342761", StateId = 2, InstitutionTypeId = 2
                    },
                    new School {
                        Name = "Government Secondary School Sharada Bata", Address = "Bata, Kano", ContactNumber = "09099017735", StateId = 4, EmailAddress = "*****@*****.**", InstitutionTypeId = 2
                    },
                    new School {
                        Name = "Government Junior Secondary School, Kwalli", Address = "Kwalli, Kano", ContactNumber = "08022342761", StateId = 4, InstitutionTypeId = 2
                    },
                    new School {
                        Name = "AGUATA HIGH SCH. AGUATA", Address = "AGUATA , Anambra", ContactNumber = "08988298029", StateId = 6, InstitutionTypeId = 2
                    }
                };
                foreach (School school in schools)
                {
                    context.Schools.Add(school);
                }
                context.SaveChanges();
            }
        }
Example #20
0
        /// <inheritdoc />
        public async Task <AddUserResult> AddUserAsync(string username, string password, InstitutionType institution, AddUserOptions options = null, string pin = null, ApiType api = ApiType.Connect)
        {
            Condition.Requires(username).IsNotNullOrWhiteSpace();
            Condition.Requires(password).IsNotNullOrWhiteSpace();
            Condition.Requires(institution).IsNotNull();

            AddUserRequest userRequest = new AddUserRequest(this.clientId, this.clientSecret)
            {
                Username = username,
                Password = password,
                Type     = institution.Value,
                Options  = new AddUserOptionsRequest(options),
                Pin      = pin
            };

            HttpResponseMessage response = await this.httpClient.PostAsJsonAsync(GetEndpoint(api), userRequest);

            return(await this.ProcessAddOrAuthResponse(response));
        }
Example #21
0
 public Institution(int institutionIdentificationCode, string name, InstitutionType institutionType)
 {
     InstitutionIdentificationCode = institutionIdentificationCode;
     Name = name;
     InstitutionType = institutionType;
 }
Example #22
0
 private void MapForUpdateentity(InstitutionType entity, DA.InstitutionType daEntity)
 {
     daEntity.Id = entity.Id;
 }