Exemplo n.º 1
0
        public IActionResult PostNewOrders([FromBody] PostManageOrdersVM _pmovm)
        {
            List <string> serviceIdList = _pmovm.idService.Split(',').ToList();

            foreach (var serviceId in serviceIdList)
            {
                OrderDetails _OrderDetailsNueva = new OrderDetails();
                var          quotationLocal     = new Quotation();
                quotationLocal.Tasks     = new List <TaskModel>();
                _OrderDetailsNueva.Order = _queries.GetOrderByOrderId(_pmovm.orderId);
                Guid id = Guid.Parse(serviceId);
                _OrderDetailsNueva.Service = _queries.GetServiceFirstOrDefault(id);
                var quotation = _queries.GetQuotationIncludeOrderTaskListMaterialWhereOrderIdEqualsOrderId(_pmovm.orderId);
                var pics      = _queries.GetQuotationIncludeOrderDetailsOrderTaskPicturesFirstOrDefaultWhereOrderIdEquals(_pmovm.orderId);

                for (int i = 0; i < quotation.Tasks.Count; i++)
                {
                    var _taskLocal = new TaskModel();

                    for (int f = 0; f < quotation.Tasks[i].ListMaterial.Count; f++)
                    {
                        if (_taskLocal.ListMaterial == null)
                        {
                            _taskLocal.ListMaterial = new List <Material>();
                        }
                        var mat = new Material();
                        mat.Description = quotation.Tasks[i].ListMaterial[f].Description;
                        mat.Name        = quotation.Tasks[i].ListMaterial[f].Name;
                        mat.Price       = 0;
                        _taskLocal.ListMaterial.Add(mat);
                    }

                    if (_taskLocal.Pictures == null)
                    {
                        _taskLocal.Pictures = new List <Picture>();
                    }

                    for (int e = 0; e < pics.Tasks[i].Pictures.Count; e++)
                    {
                        var picLocal = new Picture();
                        picLocal.PictureBytes = pics.Tasks[i].Pictures[e].PictureBytes;
                        picLocal.Tipo         = PictureTypeEnum.Quotation;
                        _taskLocal.Pictures.Add(picLocal);
                    }
                    _taskLocal.Name        = quotation.Tasks[i].Name;
                    _taskLocal.Duration    = quotation.Tasks[i].Duration;
                    _taskLocal.Description = quotation.Tasks[i].Description;
                    quotationLocal.Tasks.Add(_taskLocal);
                }

                quotationLocal.Description = quotation.Description;

                quotationLocal.OrderDetails        = _OrderDetailsNueva;
                quotationLocal.ProviderArrivalDate = DateTime.Now;
                _OrderDetailsNueva.Status          = SD.EstadoCotizando;
                _quoationRepository.Add(quotationLocal);
                _orderDetailsRepository.Add(_OrderDetailsNueva);
            }
            try
            {
                _queries.SaveChanges();
            }
            catch (Exception ex)
            {
            }
            return(Ok());
        }
Exemplo n.º 2
0
        public IActionResult PostNewOrders([FromBody] PostManageOrdersVM _pmovm)
        {
            List <string> result = _pmovm.idService.Split(',').ToList();

            foreach (var item in result)
            {
                var _OrderDetailsNueva = new OrderDetails();
                var quotationLocal     = new Quotation();

                quotationLocal.Tasks = new List <TaskModel>();
                //_OrderDetailsNueva.Id = Guid.NewGuid();
                _OrderDetailsNueva.Order   = _context.Order.FirstOrDefault(o => o.Id == _pmovm.orderId);
                _OrderDetailsNueva.Service = _context.ServiceModel.FirstOrDefault(s => s.ID.ToString() == item);

                var quotation = _context.Quotation
                                .AsNoTracking()
                                .Include(q => q.OrderDetailsModel)
                                .ThenInclude(q => q.Order)
                                .Include(q => q.Tasks)
                                .ThenInclude(t => t.ListMaterial)
                                .FirstOrDefault(q => q.OrderDetailsModel.Order.Id == _pmovm.orderId);

                var pics = _context.Quotation
                           .AsNoTracking()
                           .Include(q => q.OrderDetailsModel)
                           .ThenInclude(q => q.Order)
                           .Include(q => q.Tasks)
                           .ThenInclude(t => t.Pictures)
                           .FirstOrDefault(q => q.OrderDetailsModel.Order.Id == _pmovm.orderId);

                var piclist = new List <Picture>();

                for (int i = 0; i < quotation.Tasks.Count; i++)
                {
                    var _taskLocal = new TaskModel();

                    for (int f = 0; f < quotation.Tasks[i].ListMaterial.Count; f++)
                    {
                        if (_taskLocal.ListMaterial == null)
                        {
                            _taskLocal.ListMaterial = new List <Material>();
                        }
                        var mat = new Material();
                        mat.Description = quotation.Tasks[i].ListMaterial[f].Description;
                        mat.Name        = quotation.Tasks[i].ListMaterial[f].Name;
                        mat.Price       = 0;
                        _taskLocal.ListMaterial.Add(mat);
                    }

                    if (_taskLocal.Pictures == null)
                    {
                        _taskLocal.Pictures = new List <Picture>();
                    }

                    for (int e = 0; e < pics.Tasks[i].Pictures.Count; e++)
                    {
                        var picLocal = new Picture();
                        picLocal.PictureBytes = pics.Tasks[i].Pictures[e].PictureBytes;
                        _taskLocal.Pictures.Add(picLocal);
                    }
                    _taskLocal.Name        = quotation.Tasks[i].Name;
                    _taskLocal.Duration    = quotation.Tasks[i].Duration;
                    _taskLocal.Description = quotation.Tasks[i].Description;
                    quotationLocal.Tasks.Add(_taskLocal);
                }

                quotationLocal.Description       = quotation.Description;
                quotationLocal.Status            = 0;
                quotationLocal.OrderDetailsModel = _OrderDetailsNueva;

                _context.OrderDetails.Add(_OrderDetailsNueva);
                _context.Quotation.Add(quotationLocal);
            }
            try
            {
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
            }
            return(Ok());
        }