コード例 #1
0
        public ActionResult UpdateEtapa(List <EtapaView> etapaView, OportunidadTipo optTipo)
        {
            try
            {
                var etapa_last = new Etapa();
                etapa_last.AsignarId();
                int id_etapa = etapa_last.IdEtapa;
                int id_padre = 0;
                foreach (EtapaView view in etapaView)
                {
                    if (view.Nuevo)
                    {
                        view.IdEtapa = id_etapa;
                        id_etapa++;
                    }
                    if (view.Tareas != null)
                    {
                        foreach (EtapaTareaView tareaView in view.Tareas)
                        {
                            tareaView.IdEtapa = view.IdEtapa;
                        }
                    }
                    if (view.IdEtapaPadre != null)
                    {
                        view.IdEtapaPadre = id_padre;
                    }
                    else
                    {
                        id_padre = view.IdEtapa;
                    }
                }
                if (DataBase.OportunidadTipos.Exists(p => p.IdOportunidadTipo == optTipo.IdOportunidadTipo))
                {
                    var optTipoUpdate = DataBase.OportunidadTipos.GetSingleOrDefault(p => p.IdOportunidadTipo == optTipo.IdOportunidadTipo);
                    optTipoUpdate.Descripcion = optTipo.Descripcion;
                    optTipoUpdate.Estado      = optTipo.Estado;
                    optTipoUpdate.UsrMod      = this.UserLogonName;
                    optTipoUpdate.FecMod      = GetCurrentDateTime();
                    DataBase.OportunidadTipos.Update(optTipoUpdate);
                }
                else
                {
                    optTipo.EstadoTabla = Rp3.AgendaComercial.Models.Constantes.Estado.Tabla;
                    optTipo.UsrIng      = this.UserLogonName;
                    optTipo.FecIng      = GetCurrentDateTime();
                    optTipo.UsrMod      = this.UserLogonName;
                    optTipo.FecMod      = GetCurrentDateTime();
                    DataBase.OportunidadTipos.Insert(optTipo);
                }
                DataBase.Save();
                DataBase.Etapas.UpdateXml(new EtapaSave()
                {
                    Etapas = etapaView
                }, this.UserLogonName);

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

            return(Json());
        }