public JsonResult registrarCotizacion(int?idsucursalreparacion, long?idordentrabajo)
        {
            var model         = new VentaCotizacionModel();
            var modelDetalle  = new VentaCotizacionDetalleModel();
            var listadoactual = (List <VentaCotizacionDetalleModel>)Session["CotizacionDetalleModel"];

            var modOrdenTrabajo  = new ReparacionesData().obtenerOrdenTrabajo(idordentrabajo.Value);
            var modOrdenServicio = new OrdenServicioData().obtenerOrdenServicio(modOrdenTrabajo.idordenserviciotecnico.Value);


            model.fechahoraregistro = DateTime.Now;
            model.idusuarioregistro = Usuario.Idusuario;
            model.idsucursal        = idsucursalreparacion.Value;
            model.idordenservicio   = modOrdenTrabajo.idordenserviciotecnico.Value;
            model.idcliente         = modOrdenServicio.idcliente;
            model.idmoneda          = 8;


            model.str_total    = (Convert.ToDecimal(listadoactual.Sum(x => x.costototal).ToString()) * (decimal)(1.00)).ToString("0.##");
            model.str_subtotal = (Convert.ToDecimal(model.str_total) / (decimal)(1.18)).ToString("0.##");
            model.str_igv      = (Convert.ToDecimal(model.str_total) - Convert.ToDecimal(model.str_subtotal)).ToString("0.##");

            model.total    = Convert.ToDecimal(model.str_total);
            model.subtotal = Convert.ToDecimal(model.str_subtotal);
            model.igv      = Convert.ToDecimal(model.str_igv);

            model.generoventa     = false;
            model.__tipooperacion = 1;
            var idcotizacion = new VentaData().insertarActualizarCotizacion(model);



            foreach (var item in listadoactual)
            {
                modelDetalle = new VentaCotizacionDetalleModel();
                modelDetalle.idcotizacion  = idcotizacion;
                modelDetalle.costototal    = item.costototal;
                modelDetalle.iddiagnostico = item.iddiagnostico;
                modelDetalle.descripcion   = item.descripcion;
                modelDetalle.idreparacion  = item.idreparacion;
                modelDetalle.idproducto    = item.idrepuesto;


                new VentaData().insertarActualizarDetalleCotizacion(modelDetalle);

                #region registrar_reparacion

                //var modelReparacionDetalle = new OrdenTrabajoDetalleModel();
                //modelReparacionDetalle.costo = item.costototal;
                //modelReparacionDetalle.descripcion = item.descripcion;
                //modelReparacionDetalle.iddiagnostico = item.iddiagnostico;
                //modelReparacionDetalle.idreparacion = item.idreparacion;
                //modelReparacionDetalle.idrepuesto = item.idrepuesto;
                //modelReparacionDetalle.idordentrabajo = idordentrabajo.Value;


                //modelReparacionDetalle.__idoperacion = 1;
                //new ReparacionesData().InsertarActualizarOrdenTrabajoDetalle(modelReparacionDetalle);


                #endregion
            }



            modOrdenServicio.idestado        = (Int32)Constantes.EstadoOrdenServicio.EnEsperaRespuestaCliente;
            modOrdenServicio.__tipooperacion = 2;
            new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio);



            //modOrdenTrabajo.idusuarioregistro = Usuario.Idusuario;
            //modOrdenTrabajo.numeroordentrabajo = "100-0000067661";
            //modOrdenTrabajo.fechahoraregistro = DateTime.Now;
            modOrdenTrabajo.idestado        = (Int32)Constantes.EstadoOrdenTrabajo.CotizacionCompleta;
            modOrdenTrabajo.__tipooperacion = 2;


            new ReparacionesData().InsertarActualizarOrdenTrabajo(modOrdenTrabajo);


            return(Json(new { res = true }));
        }