Ejemplo n.º 1
0
 public ActionResult <ObjectResult> StartEstimate([FromBody] OrderEstimate order)
 {
     try
     {
         OrderService orderService = new OrderService(Startup.BeePlaceDataBaseConnectionString);
         orderService.StartEstimate(order);
         return(StatusCode((int)HttpStatusCode.OK, order));
     }
     catch (Exception e)
     {
         return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Recupera um orçamento pelo código do orçamento para que seja visualizado pelo cliente caso negado para gerar uma nova solicitação do mesmo orçamento para outra empresa.
        /// </summary>
        /// <param name="orderEstimate"></param>
        /// <returns></returns>
        public OrderEstimate GetOrderEstimate(OrderEstimate orderEstimate)
        {
            try
            {
                StandartPersistence standartPersistence =
                    new StandartPersistence(this.Connection);

                OrderEstimate estimate = new OrderEstimate();

                estimate = standartPersistence.GetEntities <OrderEstimate>(
                    CommandType.Text,
                    "SELECT * FROM OrderEstimate WHERE Id = @IdOrderEstimate",
                    new { IdOrderEstimate = estimate.Id }).SingleOrDefault();

                estimate.Company = new Company();
                estimate.Company = standartPersistence.GetEntities <Company>(
                    CommandType.Text,
                    "SELECT * FROM Company WHERE Id = @IdCompany",
                    new { IdCompany = estimate.Id }).SingleOrDefault();

                estimate.OrderEstimateItems = new List <OrderEstimateItem>();
                estimate.OrderEstimateItems = standartPersistence.GetEntities <OrderEstimateItem>(
                    CommandType.Text,
                    "SELECT * FROM OrderEstimateItem WHERE IdOrderEstimate = @IdOrderEstimate",
                    new { IdOrderEstimate = estimate.Id }).ToList();

                estimate.Client = new Model.Profile.Client.Entity.B2C.Client();
                estimate.Client = standartPersistence.GetEntities <Model.Profile.Client.Entity.B2C.Client>(
                    CommandType.Text,
                    "SELECT * FROM Client WHERE Id = @IdClient",
                    new { IdClient = estimate.IdClient }).SingleOrDefault();

                estimate.Client.Address = new Address();
                estimate.Client.Address = standartPersistence.GetEntities <Address>(
                    CommandType.Text,
                    "SELECT * FROM Address WHERE Id = @IdAddress",
                    new { estimate.IdAddress }).SingleOrDefault();

                return(estimate);
            }
            catch (SqlException e)
            {
                throw e;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Inicializa uma solicitação de orçamento de prestação de serviço.
        /// </summary>
        /// <param name="order"></param>
        public void StartEstimate(OrderEstimate order)
        {
            using (var transactionScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                try
                {
                    StandartPersistence standartPersistence =
                        new StandartPersistence(this.Connection);
                    order.DateCreated = DateTime.Now;
                    order.DateUpdated = DateTime.Now;
                    standartPersistence.Insert <OrderEstimate>(order);

                    if (order.OrderEstimateItems.Count > 0)
                    {
                        for (int i = 0; i < order.OrderEstimateItems.Count; i++)
                        {
                            order.OrderEstimateItems[i].IdOrderEstimate = order.Id;
                            order.OrderEstimateItems[i].DateCreated     = DateTime.Now;
                            order.OrderEstimateItems[i].DateUpdated     = DateTime.Now;
                            standartPersistence.Insert <OrderEstimateItem>(order.OrderEstimateItems[i]);
                            if (order.OrderEstimateItems[i].Audits != null && order.OrderEstimateItems[i].Audits.Count > 0)
                            {
                                foreach (var image in order.OrderEstimateItems[i].Audits)
                                {
                                    image.IdOrderItem = order.OrderEstimateItems[i].Id;
                                    CreateAudit(image);
                                }
                            }
                        }
                    }

                    transactionScope.Complete();
                }
                catch (SqlException e)
                {
                    throw e;
                }
                catch (TransactionException e)
                {
                    throw e;
                }
            }
        }