public ActionResult Overview(OrganisationOverviewModel @organisationOverViewModel)
        {
            if (ModelState.IsValid)
            {
                oFactory.SaveOrganisationOverViewModel(organisationOverViewModel);
            }

            var model = oFactory.PrepareOrganisationOverViewModel(User.Identity.Name);

            return(View(model));
        }
        public void SaveOrganisationOverViewModel(OrganisationOverviewModel orgModel)
        {
            Location location = lRepository.GetLocationByAddressCity(orgModel.Address, orgModel.City);

            if (location == null && orgModel.Latitude > 0 && orgModel.Longitude > 0)
            {
                location = new Location()
                {
                    Lat        = orgModel.Latitude,
                    Lng        = orgModel.Longitude,
                    Address    = orgModel.Address,
                    City       = orgModel.City,
                    Country    = orgModel.Country,
                    PostalCode = int.Parse(orgModel.PostalCode)
                };

                lRepository.Add(location);
                lRepository.Complete();
                location = lRepository.GetLocationByAddressCity(orgModel.Address, orgModel.City);
            }


            Organisation org = oRepository.Get(orgModel.Id);

            org.Name = orgModel.Name;
            org.IdTypeOrganisation = orgModel.IdTypeOrganisation;
            org.Description        = orgModel.Description;
            org.Email = orgModel.Email;
            if (location != null)
            {
                org.IdLocation = location.Id;
            }

            org.Phone = orgModel.Phone;
            org.Web   = orgModel.Web;

            //time
            org.PerDayWorkingHours    = orgModel.PerDayWorkingHours;
            org.WorkingHoursStart     = orgModel.WorkingHoursStart;
            org.WeekWorkingHoursStart = orgModel.WeekWorkingHoursStart;
            org.SunWorkingHoursStart  = orgModel.SunWorkingHoursStart;
            org.SatWorkingHoursStart  = orgModel.SatWorkingHoursStart;

            org.SatWorkingHoursEnd  = orgModel.SatWorkingHoursEnd;
            org.SunWorkingHoursEnd  = orgModel.SunWorkingHoursEnd;
            org.WeekWorkingHoursEnd = orgModel.WeekWorkingHoursEnd;
            org.WorkingHoursEnd     = orgModel.WorkingHoursEnd;

            oRepository.Complete();
        }
        public OrganisationOverviewModel PrepareOrganisationOverViewModel(string userName)
        {
            OrganisationOverviewModel organisationOvewViewModel = null;
            Organisation organisation = oRepository.GetOrganisationByUsername(userName);

            if (organisation == null)
            {
                return(null);
            }

            organisationOvewViewModel = new OrganisationOverviewModel()
            {
                Id   = organisation.Id,
                Name = organisation.Name,
                IdTypeOrganisation = organisation.IdTypeOrganisation,
                Description        = organisation.Description,
                Phone = organisation.Phone,
                Email = organisation.Email,
                Web   = organisation.Web,
                PerDayWorkingHours    = organisation.PerDayWorkingHours,
                WorkingHoursStart     = organisation.WorkingHoursStart,
                WorkingHoursEnd       = organisation.WorkingHoursEnd,
                WeekWorkingHoursStart = organisation.WeekWorkingHoursStart,
                WeekWorkingHoursEnd   = organisation.WeekWorkingHoursEnd,
                SatWorkingHoursStart  = organisation.SatWorkingHoursStart,
                SatWorkingHoursEnd    = organisation.SatWorkingHoursEnd,
                SunWorkingHoursEnd    = organisation.SunWorkingHoursEnd,
                SunWorkingHoursStart  = organisation.SunWorkingHoursStart
            };

            organisationOvewViewModel.TypeOrganisationList = prepareTypeOrganisationSelection();

            if (organisation.IdLocation.HasValue)
            {
                organisationOvewViewModel.Latitude   = organisation.Location.Lat.Value;
                organisationOvewViewModel.Longitude  = organisation.Location.Lng.Value;
                organisationOvewViewModel.PostalCode = organisation.Location.PostalCode.Value.ToString();
                organisationOvewViewModel.Address    = organisation.Location.Address;
                organisationOvewViewModel.City       = organisation.Location.City;
                organisationOvewViewModel.Country    = organisation.Location.Country;
            }

            return(organisationOvewViewModel);
        }