public int InsertarActualizarProgramacionDetalle(ProgramacionDetalleModel modProgramacion)
        {
            Mapper.CreateMap <ProgramacionDetalleModel, InsertarActualizarProgramacionDetalleCommand>();
            var command = Mapper.Map <ProgramacionDetalleModel, InsertarActualizarProgramacionDetalleCommand>(modProgramacion);

            var result = (InsertarActualizarProgramacionDetalleOutput)command.Execute();

            return(result.idprogramaciondetalle);
        }
        public JsonResult JsonGenerarDespacho(string ids, DateTime?fecharecojo, int?idtransporte)
        {
            string[] guias      = ids.Split(',');
            var      modGuiaAct = new GuiaRemisionModel();

            //var modGuiaAct = new GuiaRemisionModel();
            //modGuiaAct.


            foreach (var item in guias)
            {
                var guia = new DespachoData().obtenerGuiaRemision(Convert.ToInt64(item));
                var osts = new RecepcionData().GetListarOrdenServicio(Convert.ToInt32(item));

                foreach (var item1 in osts)
                {
                    var modOrdenServicio = new OrdenServicioModel();
                    modOrdenServicio.idordenserviciotecnico = item1.idordenserviciotecnico;
                    modOrdenServicio.__tipooperacion        = 2; // actualizar estado
                    modOrdenServicio.idestado = (Int32)Constantes.EstadoOrdenServicio.PendienteRecojoDelivery;

                    new OrdenServicioData().InsertarActualizarOrdenServicio(modOrdenServicio);
                }
            }


            var modGuiaRemision = new DespachoData().obtenerGuiaRemision(Convert.ToInt64(guias[0]));


            var modProgramacion = new ProgramacionModel();

            modProgramacion.idestado          = (Int32)(Constantes.EstadoDespacho.programada);
            modProgramacion.fechahoraregistro = DateTime.Now;
            modProgramacion.fecharecojo       = fecharecojo;
            modProgramacion.idtransportista   = idtransporte.Value;
            modProgramacion.idsucursalorigen  = modGuiaRemision.idsucursalorigen;
            modProgramacion.idsucursaldestino = modGuiaRemision.idsucursaldestino;
            modProgramacion.idusuarioregistro = Usuario.Idusuario;
            modProgramacion.numero            = "100-000001";
            modProgramacion.__tipooperacion   = 1;

            var res = new DespachoData().InsertarActualizarProgramacion(modProgramacion);


            var modProgramacionDetalle = new ProgramacionDetalleModel();

            foreach (var item in guias)
            {
                modGuiaAct                 = new DespachoData().obtenerGuiaRemision(Convert.ToInt64(item));
                modGuiaAct.idestado        = (Int32)Constantes.EstadoGuiaRemision.Programada;
                modGuiaAct.__tipooperacion = 2;
                new DespachoData().InsertarActualizarGuiaRemision(modGuiaAct);

                modProgramacionDetalle                = new ProgramacionDetalleModel();
                modProgramacionDetalle.idguia         = Convert.ToInt32(item);
                modProgramacionDetalle.idprogramacion = res;

                var resdetalle = new DespachoData().InsertarActualizarProgramacionDetalle(modProgramacionDetalle);
            }



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