示例#1
0
        public async Task <ActionResult> Crear([FromBody] CrearViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var fechaHora = DateTime.Now;

            CotizacionE cotizacion = new CotizacionE
            {
                idUsuario          = model.idUsuario,
                fechaRegistro      = fechaHora,
                fechaActualizacion = fechaHora,
                idCliente          = model.idCliente,
                idEstatus          = model.idEstatus,
                //subtotal = model.subtotal,
                //iva = model.iva,
                total     = model.total,
                descuento = model.descuento,
                aumento   = model.aumento
            };


            try
            {
                _context.Cotizaciones.Add(cotizacion);
                await _context.SaveChangesAsync();

                var id = cotizacion.idCotizacion;
                foreach (var det in model.detalles)
                {
                    Detalles_Cotizacion detalle = new Detalles_Cotizacion
                    {
                        idCotizacion = id,
                        cantidad     = det.cantidad,
                        //unidadMedida = det.unidadMedida,
                        //precioUnitario = det.precioUnitario,
                        //descripcion  = det.descripcion,
                        idProducto = det.idProducto
                    };
                    _context.DetallesCotizacion.Add(detalle);
                }
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }

            return(Ok());
        }
示例#2
0
        public async Task <IActionResult> Actualizar([FromBody] objProyectoActualizar model)
        {
            var fechaHora = DateTime.Now;
            var holi      = model.objcliente.idCliente;
            var aumento   = 0;

            switch (model.objcliente.tipoCliente)
            {
            case "A":
                aumento = 10;
                break;

            case "B":
                aumento = 20;
                break;

            case "C":
                aumento = 30;
                break;

            case "D":
                aumento = 40;
                break;
            }

            var cotizacion = await _context.Cotizaciones.FirstOrDefaultAsync(c => c.idCotizacion == model.idCotizacion);

            if (cotizacion == null)
            {
                return(NotFound());
            }
            cotizacion.idCliente          = model.objcliente.idCliente;
            cotizacion.idUsuario          = 3;
            cotizacion.idEstatus          = 1;
            cotizacion.total              = model.totalProyecto;
            cotizacion.moneda             = model.objmoneda.moneda;
            cotizacion.tipoCambio         = Convert.ToDecimal(model.objmoneda.tipoCambio);
            cotizacion.descuento          = model.descuento;
            cotizacion.aumento            = aumento;
            cotizacion.idPlantilla        = 0;
            cotizacion.fechaActualizacion = fechaHora;
            try
            {
                await _context.SaveChangesAsync();

                var id = model.idCotizacion;
                foreach (var serv in model.objservicios)
                {
                    var idser = serv.idServicio;
                    foreach (var cat in serv.objcategorias)
                    {
                        var idcat = cat.idcategoria;
                        foreach (var pro in cat.objproductos)
                        {
                            var det = await _context.DetallesCotizacion.FirstOrDefaultAsync(a => a.idProducto == pro.idProducto);

                            if (det == null)
                            {
                                det.idCotizacion  = id;
                                det.idProducto    = pro.idProducto;
                                det.cantidad      = Convert.ToInt32(pro.cantidad);
                                det.monto         = Convert.ToDecimal(pro.monto);
                                det.comentarios   = "";
                                det.fechaRegistro = fechaHora;
                                det.idServicio    = idser;
                                det.idCategoria   = idcat;

                                try
                                {
                                    await _context.SaveChangesAsync();
                                }
                                catch (DbUpdateConcurrencyException)
                                {
                                    //Guardar Excepcion
                                    return(BadRequest());
                                }
                            }
                            else
                            {
                                Detalles_Cotizacion detalle = new Detalles_Cotizacion
                                {
                                    idCotizacion  = id,
                                    idProducto    = pro.idProducto,
                                    cantidad      = Convert.ToInt32(pro.cantidad),
                                    monto         = Convert.ToDecimal(pro.monto),
                                    comentarios   = "",
                                    fechaRegistro = fechaHora,
                                    idServicio    = idser,
                                    idCategoria   = idcat
                                };
                                _context.DetallesCotizacion.Add(detalle);
                            }
                        }
                    }
                }
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
            return(Ok());
        }
示例#3
0
        public async Task <IActionResult> Guardar([FromBody] objProyecto model)
        {
            var fechaHora = DateTime.Now;
            var holi      = model.objcliente.idCliente;
            var aumento   = 0;

            switch (model.objcliente.tipoCliente)
            {
            case "A":
                aumento = 10;
                break;

            case "B":
                aumento = 20;
                break;

            case "C":
                aumento = 30;
                break;

            case "D":
                aumento = 40;
                break;
            }
            CotizacionE cotizacion = new CotizacionE
            {
                idCliente          = model.objcliente.idCliente,
                idUsuario          = 3,
                idEstatus          = 1,
                total              = model.totalProyecto,
                moneda             = model.objmoneda.moneda,
                tipoCambio         = Convert.ToDecimal(model.objmoneda.tipoCambio),
                descuento          = model.descuento,
                aumento            = aumento,
                idPlantilla        = 0,
                fechaRegistro      = fechaHora,
                fechaActualizacion = fechaHora
            };

            try
            {
                _context.Cotizaciones.Add(cotizacion);
                await _context.SaveChangesAsync();

                var id = cotizacion.idCotizacion;
                foreach (var serv in model.objservicios)
                {
                    var idser = serv.idServicio;
                    foreach (var cat in serv.objcategorias)
                    {
                        var idcat = cat.idcategoria;
                        foreach (var pro in cat.objproductos)
                        {
                            Detalles_Cotizacion detalle = new Detalles_Cotizacion
                            {
                                idCotizacion  = id,
                                idProducto    = pro.idProducto,
                                cantidad      = Convert.ToInt32(pro.cantidad),
                                monto         = Convert.ToDecimal(pro.monto),
                                comentarios   = "",
                                fechaRegistro = fechaHora,
                                idServicio    = idser,
                                idCategoria   = idcat
                            };
                            _context.DetallesCotizacion.Add(detalle);
                        }
                    }
                }
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
            return(Ok());
        }