예제 #1
0
        public ActionResult openPanel(int idRow, int idTarea, int idTareaActividad)
        {
            ViewBag.TipoActividades = DataBase.TipoActividades
                                      .Get(p => p.Estado == Models.Constantes.Estado.Activo)
                                      .Where(p => p.Tipo != Models.Constantes.TipoActividad.Grupo &&
                                             p.IdTipoActividad != Models.Constantes.TipoActividad.DefaultSeleccion &&
                                             p.IdTipoActividad != Models.Constantes.TipoActividad.DefaultMultipleSeleccion
                                             ).ToList();

            TareaActividad tareaConsulta = new TareaActividad();

            if (idTarea != 0 && idTareaActividad != 0)
            {
                tareaConsulta     = DataBase.TareaActividades.Get(p => p.IdTarea == idTarea && p.IdTareaActividad == idTareaActividad).SingleOrDefault();
                ViewBag.isNewItem = 0;
                ViewBag.RowId     = idRow;

                if (tareaConsulta.IdTipoActividad == 1)
                {
                    ViewBag.TipoActividades = DataBase.TipoActividades
                                              .Get(p => p.Estado == Models.Constantes.Estado.Activo)
                                              .Where(p => p.Tipo == Models.Constantes.TipoActividad.Grupo).ToList();
                }
            }
            else
            {
                ViewBag.isNewItem = 1;
                ViewBag.RowId     = 0;
            }


            return(PartialView("_VerDatos", tareaConsulta));
        }
예제 #2
0
        public ActionResult Create(TareaNew model)
        {
            try
            {
                Tarea tarea = new Tarea();

                tarea.AsignarId();

                tarea.Descripcion          = model.Descripcion;
                tarea.TipoTareaTabla       = Rp3.AgendaComercial.Models.Constantes.TipoTarea.Tabla;
                tarea.TipoTarea            = model.Tipo;
                tarea.FechaVigenciaDesde   = this.GetCurrentDateTime().Date;
                tarea.EsVigenciaIndefinida = true;

                tarea.EstadoTabla = Rp3.AgendaComercial.Models.Constantes.Estado.Tabla;
                tarea.Estado      = Rp3.AgendaComercial.Models.Constantes.Estado.Activo;
                tarea.UsrIng      = this.UserLogonName;
                tarea.FecIng      = this.GetCurrentDateTime();
                tarea.FecMod      = this.GetCurrentDateTime();

                if (model.Tipo == Rp3.AgendaComercial.Models.Constantes.TipoTarea.ActualizacionClientes)
                {
                    tarea.AplicaRutasEspecificas = true;
                }

                DataBase.TareasDetalle.InsertXml(tarea);

                if (tarea.TipoTarea == Rp3.AgendaComercial.Models.Constantes.TipoTarea.Actividad)
                {
                    TareaActividad actividad = new TareaActividad();
                    actividad.IdTarea = tarea.IdTarea;

                    actividad.IdTareaActividad = 1;

                    actividad.Descripcion     = model.Descripcion;
                    actividad.IdTipoActividad = 2;

                    actividad.Orden = 1;

                    DataBase.TareaActividades.Insert(actividad);
                    DataBase.Save();
                }

                this.AddDefaultSuccessMessage();
                //return Json();

                return(new JsonResult()
                {
                    Data = new { IdTarea = tarea.IdTarea }, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch
            {
                this.AddDefaultErrorMessage();
                return(Json());
            }
        }
예제 #3
0
        public ActionResult UpdateTarea(TareaView tareaView)
        {
            if (tareaView.Actividades != null)
            {
                foreach (var act in tareaView.Actividades)
                {
                    if (act.IdTipoActividad == null || act.IdTipoActividad == 0)
                    {
                        //this.AddErrorMessage(Rp3.AgendaComercial.Resources.ErrorMessageValidation.HoraInicioMayorHoraFin);
                        this.AddErrorMessage("Todas las actividades deben tener un tipo de actividad");
                    }
                }
            }

            if (!tareaView.EsVigenciaIndefinida && tareaView.FechaVigenciaHasta == null)
            {
                this.AddErrorMessage(Rp3.AgendaComercial.Resources.ErrorMessageValidation.IngresarFechaHasta);
            }

            if (!this.MessageCollection.HasError())
            {
                try
                {
                    Tarea tarea = new Tarea();
                    List <TareaRutaAplica> listaRutaAplica = new List <TareaRutaAplica>();
                    List <TareaActividad>  listaActividad  = new List <TareaActividad>();

                    tarea.IdTarea     = tareaView.IdTarea;
                    tarea.Descripcion = tareaView.Descripcion;
                    tarea.Estado      = tareaView.Estado;
                    tarea.UsrIng      = this.UserLogonName;
                    tarea.FecMod      = this.GetCurrentDateTime();

                    if (tareaView.TipoTarea != Rp3.AgendaComercial.Models.Constantes.TipoTarea.CheckListOportunidad)
                    {
                        tarea.FechaVigenciaDesde     = tareaView.FechaVigenciaDesde;
                        tarea.FechaVigenciaHasta     = tareaView.FechaVigenciaHasta;
                        tarea.ReadOnly               = tareaView.ReadOnly;
                        tarea.EsVigenciaIndefinida   = tareaView.EsVigenciaIndefinida;
                        tarea.AplicaRutasEspecificas = !tareaView.AplicaTodasLasRutas;
                    }
                    else
                    {
                        tarea.FechaVigenciaDesde   = this.GetCurrentDateTime();
                        tarea.EsVigenciaIndefinida = true;
                    }


                    if (tareaView.TipoTarea == Rp3.AgendaComercial.Models.Constantes.TipoTarea.ActualizacionClientes)
                    {
                        tarea.TareaClienteActualizacion = new TareaClienteActualizacion();

                        tarea.TareaClienteActualizacion.IdTarea                      = tarea.IdTarea;
                        tarea.TareaClienteActualizacion.PermitirCreacion             = tareaView.PermitirCreacion;
                        tarea.TareaClienteActualizacion.PermitirModificacion         = tareaView.PermitirModificacion;
                        tarea.TareaClienteActualizacion.SiempreEditarEnGestion       = tareaView.SiempreEditarEnGestion;
                        tarea.TareaClienteActualizacion.SoloFaltantesEditarEnGestion = tareaView.SoloFaltantesEditarEnGestion;

                        var campos = DataBase.ParametroClienteCampos.Get();
                        List <TareaClienteActualizacionCampo> listCampo = new List <TareaClienteActualizacionCampo>();

                        foreach (var campo in campos)
                        {
                            listCampo.Add(new TareaClienteActualizacionCampo()
                            {
                                IdTarea      = tarea.IdTarea,
                                IdCampo      = campo.IdCampo,
                                Creacion     = tareaView.TareaClienteActualizacionCampos.Where(p => p.IdCampo == campo.IdCampo && p.Creacion).Count() > 0,
                                Modificacion = tareaView.TareaClienteActualizacionCampos.Where(p => p.IdCampo == campo.IdCampo && p.Modificacion).Count() > 0,
                                Gestion      = tareaView.TareaClienteActualizacionCampos.Where(p => p.IdCampo == campo.IdCampo && p.Gestion).Count() > 0
                            });
                        }

                        tarea.TareaClienteActualizacionCampos = listCampo;
                    }

                    if (!tareaView.AplicaTodasLasRutas && tareaView.TipoTarea != Rp3.AgendaComercial.Models.Constantes.TipoTarea.CheckListOportunidad)
                    {
                        if (tareaView.TareaRutasAplica != null)
                        {
                            foreach (var rut in tareaView.TareaRutasAplica)
                            {
                                TareaRutaAplica rutaAplica = new TareaRutaAplica();
                                rutaAplica.IdTarea = tarea.IdTarea;//tareaView.IdTarea;
                                rutaAplica.IdRuta  = rut.IdRuta;
                                listaRutaAplica.Add(rutaAplica);
                            }
                        }
                    }

                    if (tareaView.Actividades != null)
                    {
                        int maxId = DataBase.TareaActividades.GetMaxValue <int>(p => p.IdTareaActividad, 0, p => p.IdTarea == tarea.IdTarea) + 1;

                        foreach (var act in tareaView.Actividades)
                        {
                            TareaActividad actividad = new TareaActividad();
                            actividad.IdTarea = tarea.IdTarea;

                            if (act.IdTareaActividad != 0)
                            {
                                actividad.IdTareaActividad = act.IdTareaActividad;
                            }
                            else
                            {
                                actividad.IdTareaActividad = maxId;
                                maxId++;
                            }

                            actividad.Descripcion     = act.Descripcion;
                            actividad.IdTipoActividad = act.IdTipoActividad;
                            actividad.Opciones        = act.Opciones;
                            actividad.Valor           = act.Valor;
                            actividad.Limite          = act.Limite;

                            actividad.IdTareaActividadPadre = act.IdTareaActividadPadre;
                            actividad.Orden = act.Orden;
                            listaActividad.Add(actividad);
                        }
                    }

                    tarea.TareaRutaAplicas = listaRutaAplica;
                    tarea.TareaActividades = listaActividad;

                    DataBase.TareasDetalle.UpdateXml(tarea);
                    DataBase.Save();

                    VerificarDependencia(tarea);
                    ProcesarTarea(tarea);

                    this.AddDefaultSuccessMessage();
                }
                catch
                {
                    this.AddDefaultErrorMessage();
                }
            }
            return(Json());
        }