Ejemplo n.º 1
0
        public async Task <ActionResult> Create(
            [Bind(Include = "CompanyName, CityName, FromDate, ToDate, ProExpDescription, ProExpName, ProExpPosition")] CreateProExpViewModel proExpViewModel)
        {
            if (ModelState.IsValid)
            {
                var proExpToAdd = new ProExpModel
                {
                    CompanyName = proExpViewModel.CompanyName,
                    CityName    = proExpViewModel.CityName,
                    FromDate    = proExpViewModel.FromDate,
                    ToDate      = proExpViewModel.ToDate,
                    ProfileId   = _userModel.Id,
                    ExperienceDescriptionModel = new List <ExperienceDescriptionModel>()
                };

                var expProDesc = new ExperienceDescriptionModel
                {
                    Description  = proExpViewModel.ProExpDescription,
                    PositionDesc = proExpViewModel.ProExpPosition,
                    Name         = proExpViewModel.ProExpName
                };

                proExpToAdd.ExperienceDescriptionModel.Add(expProDesc);


                await _proExpService.CreateAsync(proExpToAdd);

                return(RedirectToAction("Index"));
            }

            return(View(proExpViewModel));
        }
Ejemplo n.º 2
0
        // TODO réaliser complètement ce service pour alléger les fonctions du service ProExpService ??
        // Oui car on peut l'ajouter après une fermeture d'using, est ce bien? Askip ça évitera d'avoir une fonction de 150 lignes

        public async Task <int> UpdateAsync(int id, ExperienceDescriptionModel expDescModel)
        {
            using (ApplicationContext context = new ApplicationContext())
            {
                var entity = new ExperienceDescription
                {
                    Id          = id,
                    Description = expDescModel.Description,
                    Name        = expDescModel.Name,
                    ProExpId    = expDescModel.ProExpId,
                };

                var position =
                    await context.Positions
                    .FirstOrDefaultAsync(x => x.Description == expDescModel.PositionDesc);

                if (position == null)
                {
                    position = new Position
                    {
                        Description = expDescModel.PositionDesc
                    };
                }

                entity.Position = position;

                context.ExperienceDescriptions.AddOrUpdate(entity);
                await context.SaveChangesAsync();

                return(entity.Id);
            }
        }