/// <summary> /// Método para criar uma Publication na DB /// </summary> /// <param name="employer">Id do cleinte que vai criar uma Publication</param> /// <param name="model">Objeto da Publication com a informação a ser publicada</param> /// <returns>Retorna a Publication criada</returns> public Publication Create(PuplicationCreate model) { Publication p = new Publication(); using (SqlCommand cmd = _connection.Fetch().CreateCommand()) { cmd.CommandType = CommandType.Text; cmd.CommandText = "INSERT INTO dbo.Publication(Title, Description, Tradable, Category, Price, Localization, Condition, UserId, Image)" + " VALUES(@Title, @Description, @Tradable, @Category, @Price, @Localization, @Condition, @UserId, @Image); SELECT @@Identity"; string adrs = model.UserAddress.ToString(); cmd.Parameters.Add("@Title", SqlDbType.NVarChar).Value = model.Tittle; cmd.Parameters.Add("@Description", SqlDbType.NVarChar).Value = model.Description; cmd.Parameters.Add("@Tradable", SqlDbType.Bit).Value = model.Tradable; cmd.Parameters.Add("@Category", SqlDbType.Int).Value = model.Category; cmd.Parameters.Add("@UserId", SqlDbType.Int).Value = model.UtilizadorId; cmd.Parameters.Add("@Condition", SqlDbType.Int).Value = model.InstrumentCondition; cmd.Parameters.Add("@Price", SqlDbType.Float).Value = model.InitialPrice; cmd.Parameters.Add("@Localization", SqlDbType.NVarChar).Value = adrs; cmd.Parameters.Add("@Image", SqlDbType.Int).Value = model.ImagePath; p.Id = int.Parse(cmd.ExecuteScalar().ToString()); } return(p); }
public async Task <IActionResult> Create(PuplicationCreate model) { int?uId = ClaimHelper.GetIdFromClaimIdentity((ClaimsIdentity)this.ControllerContext.HttpContext.User.Identity); if (uId == null) { return(Unauthorized(new ErrorExceptionModel("Sem Autorização ou sem sessão inciada"))); } if (model.ImagePath == null) { model.ImagePath = 0; } model.UtilizadorId = (int)uId; PublicationDAO publicationDao = new PublicationDAO(_connection); Publication resultPublication = publicationDao.Create(model); resultPublication.UtilizadorId = (int)uId; resultPublication.Tittle = model.Tittle; resultPublication.Tradable = model.Tradable; resultPublication.UserAddress = model.UserAddress; resultPublication.InstrumentCondition = model.InstrumentCondition; resultPublication.InitialPrice = model.InitialPrice; resultPublication.Category = model.Category; return(Ok(resultPublication)); }