public ActionResult Editar() { EmpresaConfig empresaConfig = _unitOfWork.EmpresaConfigRepository.ConsultarPorIdEmpresa(IdEmpresa); var model = Mapper.Map <EmpresaConfigEditarViewModel>(empresaConfig); model.TiposConferencia = new SelectList(_unitOfWork.TipoConferenciaRepository.RetornarTodos().Select(x => new SelectListItem { Value = x.IdTipoConferencia.GetHashCode().ToString(), Text = x.Descricao, }), "Value", "Text"); model.TiposEmpresa = new SelectList(_unitOfWork.EmpresaTipoRepository.RetornarTodos().Select(x => new SelectListItem { Value = x.IdEmpresaTipo.GetHashCode().ToString(), Text = x.Descricao, }), "Value", "Text"); model.DiaColeta = new SelectList(_unitOfWork.DiasDaSemanaRepository.RetornarTodos() .Where(x => x.IdDiasDaSemana != DiasDaSemanaEnum.Domingo && x.IdDiasDaSemana != DiasDaSemanaEnum.Sabado) .Select(x => new SelectListItem { Value = x.IdDiasDaSemana.GetHashCode().ToString(), Text = x.Descricao, }), "Value", "Text"); return(View(model)); }
public ActionResult Edit([Bind(Include = "EmpresaID,NombreEmpresa,RNC,NCF01_Proximo,NCF02_Proximo,NCF03_Proximo,NCF04_Proximo,NCF14_Proximo,NCF15_Proximo,TasaItbisActual,ArchivoLogo,ArchivoTipografia")] EmpresaConfig empresaConfig, HttpPostedFileBase archivo1, HttpPostedFileBase archivo2) { if (archivo1 != null) { string imgName = Path.GetFileName(archivo1.FileName); string fisiPath = Server.MapPath("~/Content/Imagenes/" + imgName); archivo1.SaveAs(fisiPath); empresaConfig.ArchivoLogo = imgName; } if (archivo2 != null) { string imgName = Path.GetFileName(archivo1.FileName); string fisiPath = Server.MapPath("~/Content/Imagenes/" + imgName); archivo1.SaveAs(fisiPath); empresaConfig.ArchivoTipografia = imgName; } if (ModelState.IsValid) { db.Entry(empresaConfig).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(empresaConfig)); }
public ActionResult DeleteConfirmed(int id) { EmpresaConfig empresaConfig = db.EmpresaConfigs.Find(id); db.EmpresaConfigs.Remove(empresaConfig); db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: Empresas/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EmpresaConfig empresaConfig = db.EmpresaConfigs.Find(id); if (empresaConfig == null) { return(HttpNotFound()); } return(View(empresaConfig)); }
public async Task ConsultarEmpresaIntegracao() { if (!Convert.ToBoolean(ConfigurationManager.AppSettings["IntegracaoSankhya_Habilitar"])) { return; } StringBuilder inner = new StringBuilder(); inner.Append("INNER JOIN TGFEMP ON TSIEMP.CODEMP = TGFEMP.CODEMP "); inner.Append("LEFT JOIN TSIEND ON TSIEMP.CODEND = TSIEND.CODEND "); inner.Append("LEFT JOIN TSIBAI ON TSIEMP.CODBAI = TSIBAI.CODBAI "); inner.Append("LEFT JOIN TSICID ON TSIEMP.CODCID = TSICID.CODCID "); inner.Append("LEFT JOIN TSIUFS ON TSICID.UF = TSIUFS.CODUF"); var where = "WHERE TSIEMP.AD_INTEGRARFWLOG = '1'"; List <EmpresaIntegracao> empresasIntegracao = await IntegracaoSankhya.Instance.PreExecutarQuery <EmpresaIntegracao>(where.ToString(), inner.ToString()); empresasIntegracao = empresasIntegracao.OrderBy("CodigoIntegracao", "ASC").ToList(); foreach (var empInt in empresasIntegracao) { try { ValidarDadosIntegracao(empInt); bool empresaNova = false; var codEmp = Convert.ToInt32(empInt.CodigoIntegracao); EmpresaConfig empresaConfig = _unitOfWork.EmpresaConfigRepository.ConsultaPorCodigoIntegracao(codEmp); if (empresaConfig == null) { empresaNova = true; empresaConfig = new EmpresaConfig { Empresa = new Empresa() }; } empresaConfig.Empresa.CodigoIntegracao = codEmp; empresaConfig.Empresa.CEP = empInt.CEP; empresaConfig.Empresa.Ativo = empInt.Ativo == "S" ? true : false; empresaConfig.Empresa.Bairro = empInt.Bairro; empresaConfig.Empresa.Cidade = empInt.Cidade; empresaConfig.Empresa.CNPJ = empInt.CNPJ; empresaConfig.Empresa.Complemento = empInt.Complemento; empresaConfig.Empresa.Endereco = empInt.Endereco; empresaConfig.Empresa.Estado = empInt.Estado; empresaConfig.Empresa.NomeFantasia = empInt.NomeFantasia; empresaConfig.Empresa.Numero = empInt.Numero; empresaConfig.Empresa.RazaoSocial = empInt.RazaoSocial; empresaConfig.Empresa.Sigla = empInt.Sigla; empresaConfig.Empresa.Telefone = empInt.Telefone; empresaConfig.Empresa.TelefoneSAC = empInt.TelefoneSAC; empresaConfig.IdEmpresaTipo = empInt.EmpresaMatriz == empInt.CodigoIntegracao ? EmpresaTipoEnum.Matriz : EmpresaTipoEnum.Filial; if (empresaNova) { _unitOfWork.EmpresaConfigRepository.Add(empresaConfig); } else { _unitOfWork.EmpresaRepository.Update(empresaConfig.Empresa); _unitOfWork.SaveChanges(); _unitOfWork.EmpresaConfigRepository.Update(empresaConfig); } _unitOfWork.SaveChanges(); if (!string.IsNullOrEmpty(empInt.EmpresaMatriz) && !empInt.EmpresaMatriz.Equals(codEmp.ToString())) { var codEmpMatriz = Convert.ToInt32(empInt.EmpresaMatriz); var empMatriz = _unitOfWork.EmpresaRepository.Tabela().FirstOrDefault(f => f.CodigoIntegracao == codEmpMatriz); if (empMatriz != null) { empresaConfig.IdEmpresaMatriz = empMatriz.IdEmpresa; _unitOfWork.EmpresaConfigRepository.Update(empresaConfig); _unitOfWork.SaveChanges(); } } Dictionary <string, string> campoChave = new Dictionary <string, string> { { "CODEMP", empresaConfig.Empresa.CodigoIntegracao.ToString() } }; await IntegracaoSankhya.Instance.AtualizarInformacaoIntegracao("Empresa", campoChave, "TSIEMP.AD_INTEGRARFWLOG", "0"); } catch (Exception ex) { _log.Error(string.Format("Erro na integração da Empresa: {0}.", empInt.CodigoIntegracao), ex); } } }
public void Editar(EmpresaConfig empresaConfig) { _unitOfWork.EmpresaConfigRepository.Update(empresaConfig); _unitOfWork.SaveChanges(); }
// **************************************************************** //string buscar = TextoBuscar.ToUpper(); //var ArtQuery = // from art in db.InventarioArticulos // where (art.Descripcion).Contains(buscar) // select art; // return View(ArtQuery.ToList()); // Aqui se registra y genera la factura final public ActionResult RegistrarFactura(int?id) { String NombreEmpleado; NombreEmpleado = (String)Session["PersonalName"]; if (FacturaRegistrada == false) { CalculaTotales(); // Siempre hacemos refresh de los totales MantieneDatosClientes(); String tipo = (String)TempData.Peek("TipoNCF"); // Incrementamos el NCFs Correspondiente EmpresaConfig empresa = new EmpresaConfig(); empresa = db.EmpresaConfigs.SingleOrDefault(s => s.EmpresaID > 0); if (tipo == "01") { NCF = String.Format("{0:00000000}", empresa.NCF01_Proximo); NCF = "B01" + NCF; empresa.NCF01_Proximo++; } else { NCF = String.Format("{0:00000000}", empresa.NCF02_Proximo); NCF = "B02" + NCF; empresa.NCF02_Proximo++; } db.Entry(empresa).State = EntityState.Modified; db.SaveChanges(); // Registramos Factura Venta venta = new Venta(); venta.Id_Cliente = ID_Cliente; //venta.Id_Trabajador = // confirmar donde esta este dato. venta.MontoDescuento = decimal.Parse("0.00"); venta.MontoExento = decimal.Parse("0.00"); String Monto = String.Format("{0:F2}", TempData.Peek("Subtotal")); Monto = Monto.Replace('$', ' '); venta.MontoGravado = decimal.Parse(Monto); Monto = (String)TempData.Peek("Itbis"); Monto = Monto.Replace('$', ' '); venta.MontoItbis = decimal.Parse(Monto); venta.ComprobanteFiscal = NCF; venta.Fecha = DateTime.Now; venta.Estatus = true; venta.Correlativo = ""; venta.Igv = decimal.Parse("0.00"); venta.ComprobanteFiscal = NCF; db.Ventas.Add(venta); db.SaveChanges(); int ID_Venta = venta.Id; // VERIFICAR QUE AQUI YA TIENE NUMERO Ok verificado // Registramos Inventario InventarioArticulo inventario = new InventarioArticulo(); DetalleMovInventario movInventario = new DetalleMovInventario(); DetalleVenta detalleVenta = new DetalleVenta(); // Por cada item en el carrito, rebajamos del inventario var query = (from a in ventasCarrito select a).ToList(); foreach (var item in query) { // Buscamos Inventario // Es nuevo en el carrito var inv = (from art in db.InventarioArticulos where art.Id_Articulo == item.Id_Articulo select art).FirstOrDefault(); // Escribimos Movimiento en inventario movInventario.Id_Articulo = inv.Id_Articulo; movInventario.Id_Ventas = ID_Venta; //***************************** Depende de arriba movInventario.Precio_Compra = decimal.Parse("0.00"); movInventario.Precio_Venta = (decimal)item.PrecioUnitarioVenta; movInventario.Requisicion = ""; movInventario.Stock_Inicial = (int)inv.CantidadDisponible; movInventario.Stock_Actual = (int)(inv.CantidadDisponible - item.Cantidad); movInventario.Estatus = true; movInventario.Fecha_produccion = DateTime.Now; movInventario.Fecha_vencimiento = DateTime.Now; db.DetalleMovInventarios.Add(movInventario); db.SaveChanges(); // Escribimos Movimiento en ventas detalleVenta.Cantidad = item.Cantidad; detalleVenta.DescuentoVenta = decimal.Parse("0.00"); detalleVenta.Estatus = true; detalleVenta.Id_Articulo = item.Id_Articulo; detalleVenta.Id_MovInventario = movInventario.Id; // ***** VERIFICAR SI DESPUES DEL ADD ARRIBA YA TIENE ID(verificado) detalleVenta.Id_Venta = ID_Venta; detalleVenta.PrecioUnitarioVenta = (decimal)item.PrecioUnitarioVenta; detalleVenta.PrecioVenta = (decimal)(item.PrecioUnitarioVenta * item.Cantidad); db.DetalleVentas.Add(detalleVenta); db.SaveChanges(); // Actualizamos Inventario inv.CantidadDisponible = inv.CantidadDisponible - item.Cantidad; db.Entry(inv).State = EntityState.Modified; db.SaveChanges(); FacturaRegistrada = true; } // Preparamos todo para la factura y dejamos que el view la haga. String Fecha = String.Format("{0:dd/MM/yyyy}", DateTime.Now); TempData["FECHAFACTURA"] = Fecha; TempData["VENDEDOR"] = NombreEmpleado; TempData["METODOPAGO"] = "-"; } CalculaTotales(); // Siempre hacemos refresh de los totales MantieneDatosClientes(); return(View(ventasCarrito)); }
public ResumoFinalizarConferenciaResponse ResumoFinalizarConferencia(long idLote, long idEmpresa, string userId) { EmpresaConfig empresaConfig = _uow.EmpresaConfigRepository.ConsultarPorIdEmpresa(idEmpresa); Lote lote = _uow.LoteRepository.GetById(idLote); var itensNotaFiscal = _uow.NotaFiscalItemRepository.ObterItens(lote.IdNotaFiscal).GroupBy(g => g.IdProduto); List <LoteConferencia> itensConferidos = _uow.LoteConferenciaRepository.ObterPorId(idLote); var usuario = _uow.PerfilUsuarioRepository.GetByUserId(userId); var response = new ResumoFinalizarConferenciaResponse { DataRecebimento = lote.DataRecebimento.ToString("dd/MM/yyyy hh:mm:ss"), IdLote = lote.IdLote, IdNotaFiscal = lote.IdNotaFiscal, NumeroNotaFiscal = string.Concat(lote.NotaFiscal.Numero, " - ", lote.NotaFiscal.Serie), QuantidadeVolume = lote.QuantidadeVolume, RazaoSocialFornecedor = lote.NotaFiscal.Fornecedor.NomeFantasia, TipoConferencia = empresaConfig.TipoConferencia.Descricao, NomeConferente = usuario.Nome }; foreach (var itemNota in itensNotaFiscal) { var itensConferencia = itensConferidos.Where(x => x.IdProduto == itemNota.Key); int quantidadeNota = itemNota.Sum(s => s.Quantidade); int quantidadeDevolucao = itemNota.Sum(s => s.QuantidadeDevolucao); string referencia = itemNota.First().Produto.Referencia; string descricao = itemNota.First().Produto.Descricao; if (itensConferencia.Any()) { int quantidadeConferido = itensConferencia.Sum(s => s.Quantidade); int diferencaNotaConferido = quantidadeNota - quantidadeConferido; var item = new ResumoFinalizarConferenciaItemResponse { Referencia = referencia, DescricaoProduto = descricao, QuantidadeConferido = quantidadeConferido, QuantidadeDevolucao = quantidadeDevolucao, QuantidadeNota = quantidadeNota, DivergenciaMais = diferencaNotaConferido < 0 ? diferencaNotaConferido * -1 : 0, DivergenciaMenos = diferencaNotaConferido > 0 ? diferencaNotaConferido : 0 }; response.Itens.Add(item); } else { var item = new ResumoFinalizarConferenciaItemResponse { Referencia = referencia, DescricaoProduto = descricao, QuantidadeConferido = 0, QuantidadeDevolucao = quantidadeDevolucao, QuantidadeNota = quantidadeNota, DivergenciaMais = 0, DivergenciaMenos = quantidadeNota }; response.Itens.Add(item); } } var itensForaNota = itensConferidos.Where(w => !itensNotaFiscal.Any(x => x.Key == w.IdProduto)).GroupBy(g => g.IdProduto); foreach (var itemForaNota in itensForaNota) { int quantidadeConferido = itemForaNota.Sum(s => s.Quantidade); int?quantidadeDevolucao = itemForaNota.Sum(s => s.QuantidadeDevolucao); var item = new ResumoFinalizarConferenciaItemResponse { Referencia = itemForaNota.First().Produto.Referencia, DescricaoProduto = itemForaNota.First().Produto.Descricao, QuantidadeConferido = quantidadeConferido, QuantidadeDevolucao = quantidadeDevolucao ?? 0, QuantidadeNota = 0, DivergenciaMais = quantidadeConferido, DivergenciaMenos = 0 }; response.Itens.Add(item); } return(response); }
public Estimator(Cotizacion cotizacion) { cot = cotizacion; config = cotizacion?.Empresa?.EmpresaConfig; Validate(); }
public ActionResult Editar(EmpresaConfigEditarViewModel model) { var empresaConfigGarantia = _unitOfWork.EmpresaConfigRepository.ConsultarPorIdEmpresa(model.IdEmpresaGarantia); if (empresaConfigGarantia == null) { ModelState.AddModelError(nameof(model.IdEmpresaGarantia), "Empresa Garantia não encontrada."); } if (model.IdEmpresa == model.IdEmpresaGarantia && !model.EmpresaFazGarantia) { ModelState.AddModelError(nameof(model.EmpresaFazGarantia), "A empresa editada não pode ser selecionada para Garantia, se não estiver marcada para fazer garantia."); } if (empresaConfigGarantia?.EmpresaFazGarantia == false) { ModelState.AddModelError(nameof(model.IdEmpresaGarantia), string.Format("A Empresa '{0}' não pode ser selecionada para Garantia, se não estiver marcada para fazer garantia.", model.NomeFantasiaEmpresaGarantia)); } if (!string.IsNullOrEmpty(model.NomeLogoEtiqueta) && !model.NomeLogoEtiqueta.ToUpper().Contains(".GRF")) { ModelState.AddModelError(nameof(model.NomeLogoEtiqueta), $"Nome do logo deve ter a extensão '.GRF'."); } if (!string.IsNullOrEmpty(model.NomeLogoEtiqueta) && (model.NomeLogoEtiqueta.Length < 5 || !model.NomeLogoEtiqueta.Substring(model.NomeLogoEtiqueta.Length - 4, 4).ToUpper().Contains(".GRF"))) { ModelState.AddModelError(nameof(model.NomeLogoEtiqueta), $"Nome do logo inválido'."); } if (!ModelState.IsValid) { model.TiposConferencia = new SelectList(_unitOfWork.TipoConferenciaRepository.RetornarTodos().Select(x => new SelectListItem { Value = x.IdTipoConferencia.GetHashCode().ToString(), Text = x.Descricao, }), "Value", "Text"); model.TiposEmpresa = new SelectList(_unitOfWork.EmpresaTipoRepository.RetornarTodos().Select(x => new SelectListItem { Value = x.IdEmpresaTipo.GetHashCode().ToString(), Text = x.Descricao, }), "Value", "Text"); model.DiaColeta = new SelectList(_unitOfWork.DiasDaSemanaRepository.RetornarTodos() .Where(x => x.IdDiasDaSemana != DiasDaSemanaEnum.Domingo && x.IdDiasDaSemana != DiasDaSemanaEnum.Sabado) .Select(x => new SelectListItem { Value = x.IdDiasDaSemana.GetHashCode().ToString(), Text = x.Descricao, }), "Value", "Text"); return(View(model)); } if (!string.IsNullOrWhiteSpace(model.CNPJConferenciaAutomatica)) { model.CNPJConferenciaAutomatica = Regex.Replace(model.CNPJConferenciaAutomatica, @"[^\d]", string.Empty); } EmpresaConfig empresaConfig = Mapper.Map <EmpresaConfig>(model); _empresaService.Editar(empresaConfig); Notify.Success(Resources.CommonStrings.RegisterEditedSuccessMessage); return(RedirectToAction("Editar")); }