Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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));
        }