コード例 #1
0
        public async Task <ActionResult> DetailsCredito(Int64 InvoiceId)
        {
            ProformaInvoiceDTO _customers = new ProformaInvoiceDTO();

            if (InvoiceId == 0)
            {
                return(await Task.Run(() => View(_customers)));
            }
            try
            {
                string     baseadress = config.Value.urlbase;
                HttpClient _client    = new HttpClient();
                _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token"));
                var result = await _client.GetAsync(baseadress + "api/ProformaInvoice/GetProformaInvoiceById/" + InvoiceId);

                string valorrespuesta = "";
                if (result.IsSuccessStatusCode)
                {
                    valorrespuesta = await(result.Content.ReadAsStringAsync());
                    _customers     = JsonConvert.DeserializeObject <ProformaInvoiceDTO>(valorrespuesta);
                }
                ViewData["customer"]     = _customers;
                ViewData["customerName"] = _customers.CustomerName.ToString();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                throw ex;
            }

            return(await Task.Run(() => View(_customers)));
        }
コード例 #2
0
        public async Task <ActionResult <ProformaInvoice> > Insert([FromBody] ProformaInvoiceDTO _ProformaInvoice)
        {
            ProformaInvoice _ProformaInvoiceq = new ProformaInvoice();

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _context.ProformaInvoice.Add(_ProformaInvoice);
                        //await _context.SaveChangesAsync();

                        foreach (var item in _ProformaInvoice.ProformaInvoiceLine)
                        {
                            item.ProformaInvoiceId = _ProformaInvoice.ProformaId;
                            _context.ProformaInvoiceLine.Add(item);
                        }

                        _context.Entry(_ProformaInvoiceq).CurrentValues.SetValues((_ProformaInvoice));

                        await _context.SaveChangesAsync();


                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
                //_ProformaInvoiceq = _ProformaInvoice;
                //_context.ProformaInvoice.Add(_ProformaInvoiceq);
                //await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_ProformaInvoice)));
        }
コード例 #3
0
        public async Task <ActionResult> pvwProformaInvoiceCredito([FromBody] ProformaInvoiceDTO _ProformaId)
        {
            ProformaInvoiceDTO _ProformaInvoice = new ProformaInvoiceDTO();

            try
            {
                string     baseadress = config.Value.urlbase;
                HttpClient _client    = new HttpClient();
                _client.DefaultRequestHeaders.Add("Authorization", "Bearer " + HttpContext.Session.GetString("token"));
                var result = await _client.GetAsync(baseadress + "api/ProformaInvoice/GetProformaInvoiceById/" + _ProformaId.ProformaId);

                string valorrespuesta = "";
                if (result.IsSuccessStatusCode)
                {
                    valorrespuesta   = await(result.Content.ReadAsStringAsync());
                    _ProformaInvoice = JsonConvert.DeserializeObject <ProformaInvoiceDTO>(valorrespuesta);
                }

                if (_ProformaInvoice == null)
                {
                    _ProformaInvoice = new ProformaInvoiceDTO {
                        ExpirationDate = DateTime.Now.AddDays(30), OrderDate = DateTime.Now, editar = 1
                    };
                }
                else
                {
                    _ProformaInvoice.editar = 0;
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                throw ex;
            }



            return(PartialView(_ProformaInvoice));
        }
コード例 #4
0
        public async Task <ActionResult <ProformaInvoice> > InsertWithInventory([FromBody] ProformaInvoiceDTO _ProformaInvoice)
        {
            ProformaInvoice _ProformaInvoiceq = _ProformaInvoice;


            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _context.ProformaInvoice.Add(_ProformaInvoiceq);
                        //await _context.SaveChangesAsync();

                        foreach (var item in _ProformaInvoice.ProformaInvoiceLine)
                        {
                            item.ProformaInvoiceId = _ProformaInvoice.ProformaId;


                            //KardexViale items2 = new KardexViale();

                            //items2 = await _context.KardexViale.Where(q => q.ProducId == item.ProductId && q.BranchId == _ProformaInvoice.BranchId).OrderByDescending(o => o.KardexDate).FirstOrDefaultAsync();

                            //KardexViale kardexViale = items2;

                            //kardexViale.QuantityOut = item.Quantity;
                            //kardexViale.QuantityEntry = 0;
                            //kardexViale.SaldoAnterior = kardexViale.Total;
                            //kardexViale.Total = kardexViale.Total - item.Quantity;
                            //kardexViale.Id = 0;
                            //kardexViale.KardexDate = DateTime.Now;
                            //kardexViale.TypeOperationId = 2;
                            //kardexViale.TypeOperationName = "Salida";
                            //kardexViale.UsuarioCreacion = _ProformaInvoice.UsuarioCreacion;
                            //kardexViale.BranchId = _ProformaInvoice.BranchId;
                            //kardexViale.TypeOfDocumentId = 1;
                            //kardexViale.TypeOfDocumentName = "Factura al Contado";
                            //kardexViale.DocumentId = item.ProformaInvoiceId;

                            _context.ProformaInvoiceLine.Add(item);
                            // _context.KardexViale.Add(kardexViale);
                        }

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_ProformaInvoiceq)));
        }
コード例 #5
0
        public async Task <ActionResult <ProformaInvoice> > Insert([FromBody] ProformaInvoiceDTO _ProformaInvoice)
        {
            ProformaInvoice _ProformaInvoiceq = new ProformaInvoice();

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _context.ProformaInvoice.Add(_ProformaInvoice);
                        //await _context.SaveChangesAsync();

                        foreach (var item in _ProformaInvoice.ProformaInvoiceLine)
                        {
                            item.ProformaInvoiceId = _ProformaInvoice.ProformaId;
                            _context.ProformaInvoiceLine.Add(item);
                        }

                        _context.Entry(_ProformaInvoiceq).CurrentValues.SetValues((_ProformaInvoice));

                        await _context.SaveChangesAsync();

                        //   if(_ProformaInvoice.Identificador!="")
                        var calculo = await _context.InvoiceCalculation.Where(q => q.Identificador == _ProformaInvoice.Identificador).ToListAsync();

                        calculo.ForEach(q => q.ProformaInvoiceId = _ProformaInvoice.ProformaId);

                        await _context.SaveChangesAsync();


                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _ProformaInvoice.CustomerId,
                            DocType      = "ProformaInvoice",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Insert",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _ProformaInvoice.UsuarioCreacion,
                            UsuarioModificacion = _ProformaInvoice.UsuarioModificacion,
                            UsuarioEjecucion    = _ProformaInvoice.UsuarioModificacion,
                        });

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
                //_ProformaInvoiceq = _ProformaInvoice;
                //_context.ProformaInvoice.Add(_ProformaInvoiceq);
                //await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_ProformaInvoice)));
        }
コード例 #6
0
        public async Task <ActionResult <ProformaInvoice> > InsertWithInventory([FromBody] ProformaInvoiceDTO _ProformaInvoice)
        {
            ProformaInvoice _ProformaInvoiceq = _ProformaInvoice;


            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _context.ProformaInvoice.Add(_ProformaInvoiceq);
                        //await _context.SaveChangesAsync();

                        foreach (var item in _ProformaInvoice.ProformaInvoiceLine)
                        {
                            item.ProformaInvoiceId = _ProformaInvoice.ProformaId;


                            //KardexViale items2 = new KardexViale();

                            //items2 = await _context.KardexViale.Where(q => q.ProducId == item.ProductId && q.BranchId == _ProformaInvoice.BranchId).OrderByDescending(o => o.KardexDate).FirstOrDefaultAsync();

                            //KardexViale kardexViale = items2;

                            //kardexViale.QuantityOut = item.Quantity;
                            //kardexViale.QuantityEntry = 0;
                            //kardexViale.SaldoAnterior = kardexViale.Total;
                            //kardexViale.Total = kardexViale.Total - item.Quantity;
                            //kardexViale.Id = 0;
                            //kardexViale.KardexDate = DateTime.Now;
                            //kardexViale.TypeOperationId = 2;
                            //kardexViale.TypeOperationName = "Salida";
                            //kardexViale.UsuarioCreacion = _ProformaInvoice.UsuarioCreacion;
                            //kardexViale.BranchId = _ProformaInvoice.BranchId;
                            //kardexViale.TypeOfDocumentId = 1;
                            //kardexViale.TypeOfDocumentName = "Factura al Contado";
                            //kardexViale.DocumentId = item.ProformaInvoiceId;

                            _context.ProformaInvoiceLine.Add(item);
                            // _context.KardexViale.Add(kardexViale);
                        }

                        await _context.SaveChangesAsync();


                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _ProformaInvoice.CustomerId,
                            DocType      = "ProformaInvoice",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_ProformaInvoice, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Insert",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _ProformaInvoice.UsuarioCreacion,
                            UsuarioModificacion = _ProformaInvoice.UsuarioModificacion,
                            UsuarioEjecucion    = _ProformaInvoice.UsuarioModificacion,
                        });

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_ProformaInvoiceq)));
        }