public ProstaPrijavaNaTecajModel(ProstaPrijava prijava)
 {
     Prijavitelj = new PrvaOsebaPrijave()
     {
         FirstName = prijava.Ime,
         LastName = prijava.Priimek,
         Email = prijava.Email,
         Phone = prijava.Gsm,
         PlesnaVloga = prijava.Vloga
     };
     Partner = null;
     if (!prijava.SoloPrijava)
     {
         Partner = new OsebaPrijave()
         {
             FirstName = prijava.PartnerIme,
             LastName = prijava.PartnerPriimek,
             Email = prijava.PartnerEmail,
             Phone= prijava.PartnerGsm,
             PlesnaVloga = prijava.PartnerVloga
         };
     }
     IdPrijave = prijava.ProstaPrijavaId;
     TecajId = prijava.TecajId;
     Tecaj = prijava.Tecaj;
     Opombe = prijava.Opombe;
     Zaznamki = prijava.Zaznamki;
     SoloPrijava = prijava.SoloPrijava;
     Oddano = prijava.Oddano;
 }
        public virtual ActionResult SprejemPrijaveNaTecaj(ProstaPrijavaNaTecajModel prijava)
        {
            if (!ModelState.IsValid)
            {
                prijava.Tecaj = solaService.Tecaj(prijava.TecajId);
                return View("PrijavaNaTecaj", prijava);
            }
            if(prijava.Prijavitelj==null)  return View("PrijavaNaTecaj", prijava);

            if (prijava.Prijavitelj!=null && prijava.Prijavitelj.Email!=null)
              prijava.Prijavitelj.Email = prijava.Prijavitelj.Email.Trim();

            if  (prijava.Partner != null && prijava.Partner.Email != null)
                prijava.Partner.Email = prijava.Partner.Email.Trim();

            if (prijava.Prijavitelj.FirstName.Empty()) ModelState.AddModelError("Prijavitelj.FirstName","Vpišite svoje ime");
            if (prijava.Prijavitelj.LastName.Empty()) ModelState.AddModelError("Prijavitelj.LastName","Vpišite svoj priimek");
            if (prijava.Prijavitelj.Email.Empty()) ModelState.AddModelError("Prijavitelj.Email","Vpišite svoj e-naslov");
            if (!EmailUtilities.IsValidEmail(prijava.Prijavitelj.Email)) ModelState.AddModelError("Prijavitelj.Email", "e-naslov ni veljaven");
            if (prijava.Prijavitelj.PlesnaVloga==PlesnaVloga.Nedoloceno) ModelState.AddModelError("Prijavitelj.PlesnaVloga","Izberite, ali ste plesalec ali plesalka");

            if (!prijava.SoloPrijava)
            {
                if (prijava.Partner.FirstName.Empty()) ModelState.AddModelError("Partner.FirstName","Vpišite ime plesnega partnerja");
                if (prijava.Partner.LastName.Empty()) ModelState.AddModelError("Partner.LastName","Vpišite priimek plesnega partnerja");
                if (prijava.Partner.Email.NotEmpty() && !EmailUtilities.IsValidEmail(prijava.Partner.Email)) ModelState.AddModelError("Partner.Email", "e-naslov ni veljaven");
            }

            if (prijava.IdPrijave == 0)
            {
                // INSERT
                var prostaPrijava = new ProstaPrijava();
                prijava.ProstaPrijava(ref prostaPrijava);
                solaService.Dodaj(prostaPrijava);
                solaService.SaveChanges();
            }
            else
            {
                // UPDATE
                var prostaPrijava = solaService.ProstaPrijava(prijava.IdPrijave);
                prijava.ProstaPrijava(ref prostaPrijava);
                solaService.SaveChanges();
            }

            var tecaj = solaService.Tecaj(prijava.TecajId);
            var potrdi = new SprejetaPrijavaModel(
                tecaj.Vrsta.Vrsta,
                prijava.Prijavitelj.FirstName,
                prijava.Prijavitelj.LastName,
                prijava.SoloPrijava,
                prijava.Partner != null ? prijava.Partner.FirstName : null,
                prijava.Partner != null ? prijava.Partner.LastName : null,
                tecaj.DatumZacetka,
                prijava.Prijavitelj.Email,
                tecaj.DodatnoBesediloPoUspesniPrijavi
                );

            if (!System.Web.HttpContext.Current.UserIsDataTrusted())
            {
                _mailSendingService.SendMail(
                    prijava.Prijavitelj.Email,
                    prijava.Prijavitelj.Email,
                    "MailProstaPrijavaSprejeta",
                    System.Web.HttpContext.Current.Language(),
                    new
                    {
                        Prijavitelj =
                            string.Format("{0} {1}", prijava.Prijavitelj.FirstName, prijava.Prijavitelj.LastName).Trim(),
                        Partner =
                            string.Format("{0} {1}", (prijava.Partner != null ? prijava.Partner.FirstName : null),
                                (prijava.Partner != null ? prijava.Partner.LastName : null)).Trim(),
                        Tecaj = tecaj.Vrsta.Vrsta,
                        Zacetek = tecaj.DatumZacetka.ToString("dd.MM.yyyy HH:mm"),
                        ImaPartnerja = prijava.Partner != null,
                        PotrebujePartnerja = prijava.Partner == null && tecaj.OmejitevVpisa==OmejitevVpisa.ObveznoVparu
                    }
                    );
            }

            if (tecaj.UrlPoUspesniPrijavi.NotEmpty() )
            {
                return Redirect(tecaj.UrlPoUspesniPrijavi);
            }

            return View("PotrdiSprejemPrijave", potrdi);
        }
        public void ProstaPrijava(ref ProstaPrijava prijava)
        {
            prijava.ProstaPrijavaId = IdPrijave;
            prijava.TecajId = TecajId;
            prijava.Tecaj = Tecaj;
            prijava.Opombe = Opombe;
            prijava.Zaznamki = Zaznamki;
            prijava.SoloPrijava = SoloPrijava;
            prijava.Oddano = Oddano;

            prijava.Ime = Prijavitelj.FirstName;
            prijava.Priimek = Prijavitelj.LastName;
            prijava.Email = Prijavitelj.Email;
            prijava.Gsm = Prijavitelj.Phone;
            prijava.Vloga = Prijavitelj.PlesnaVloga;

            if (!prijava.SoloPrijava && Partner!=null)
            {
                prijava.PartnerIme = Partner.FirstName;
                prijava.PartnerPriimek = Partner.LastName;
                prijava.PartnerEmail = Partner.Email;
                prijava.PartnerGsm = Partner.Phone;
                prijava.PartnerVloga = Partner.PlesnaVloga;
            }
        }