private bool ValidateTaskCreation(ProcessedTask processedTask)
 {
     if (processedTask.TaskAssignment.Task.Id > 0)
     {
         if (processedTask.TaskAssignment.Create() && processedTask.Create())
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         if (processedTask.TaskAssignment.Task.Create() && processedTask.TaskAssignment.Create() && processedTask.Create())
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
        protected void btnRechazar_Click(object sender, EventArgs e)
        {
            int rejectedStatusId = 5;

            if (string.IsNullOrWhiteSpace(txtDescription.Text))
            {
                lblMessage.Text = "Motivo de rechazo no puede ser vacío";
            }
            else
            {
                ProcessedTask processedTask = new ProcessedTask()
                {
                    Id = int.Parse(lblInternalId.Text)
                };
                if (processedTask.Read() && processedTask.TaskAssignment.ReceiverUser.Id == ((User)Session["ses"]).Id)
                {
                    processedTask.IdTaskStatus = rejectedStatusId;
                    processedTask.Commentary   = txtDescription.Text;
                    processedTask.Update();
                    Response.Redirect("TareasAsignadas.aspx");
                }
                else
                {
                    lblMessage.Text = "Error desconocido.";
                }
            }
        }
Ejemplo n.º 3
0
 private void LoadRejectForm(ProcessedTask processedTask)
 {
     lblMessage.Text             = string.Empty;
     divInformarProblema.Visible = true;
     lblNombreProblema.Text      = processedTask.TaskAssignment.Task.Name;
     lblInternalId.Text          = processedTask.Id.ToString();
 }
Ejemplo n.º 4
0
        protected void btnInformarProblema_Click(object sender, EventArgs e)
        {
            int suspendedStatusId = 9;

            if (string.IsNullOrWhiteSpace(txtDescription.Text))
            {
                lblMessage.Text = "Causa de problema no puede ser vacío";
            }
            else
            {
                ProcessedTask processedTask = new ProcessedTask()
                {
                    Id = int.Parse(lblInternalId.Text)
                };
                if (processedTask.Read() && processedTask.TaskAssignment.ReceiverUser.Id == ((User)Session["ses"]).Id)
                {
                    processedTask.IdTaskStatus = suspendedStatusId;
                    processedTask.Commentary   = txtDescription.Text;
                    processedTask.Update();
                    Response.Redirect("VerTareasActivas.aspx");
                }
                else
                {
                    lblMessage.Text = "Error desconocido.";
                }
            }
        }
        protected void btnCrearFlujoTarea_Click(object sender, EventArgs e)
        {
            string validateMessage = validate();

            try
            {
                if (validateMessage == null)
                {
                    TaskFlowInfo taskFlowInfo = SelectedOptions();

                    User user = (User)Session["ses"];


                    if (rbtlTipoTarea.SelectedItem.Value == "TareaUnica")
                    {
                        ProcessedTask processedTask = CreateUniqueFlowTask(user);
                        if (processedTask != null)
                        {
                            taskFlowInfo.ProcessedTask = processedTask;
                            taskFlowInfo.OriginalTask  = processedTask.TaskAssignment.Task;
                        }
                        else
                        {
                            throw new Exception();
                        }
                    }
                    else if (rbtlTipoTarea.SelectedItem.Value == "TareaRepetitiva")
                    {
                        LoopTask loopTask = createLoopTask(user);
                        List <LoopTaskSchedule> loopTaskScheduleList = CreateRepetitiveTaskFlow(user);

                        if (loopTaskScheduleList.Count > 0)
                        {
                            taskFlowInfo.LoopTask             = loopTask;
                            taskFlowInfo.LoopTaskScheduleList = loopTaskScheduleList;
                            taskFlowInfo.OriginalTask         = loopTask.TaskAssignment.Task;
                        }
                        else
                        {
                            throw new Exception();
                        }
                    }
                    Session["TaskFlowInfo"] = taskFlowInfo;
                    Response.Redirect("FlujodeTarea.aspx", false);
                }
                else
                {
                    lblMessage.Text = validateMessage;
                }
            }
            catch (Exception exce)
            {
                string mes = exce.Message;
                Response.Redirect("CrearTarea.aspx", false);
                lblMessage.Text = "Error inesperado, contacte al administrador";
            }
        }
        protected void btnSubEditarSuspendidos_Click(object sender, EventArgs e)
        {
            LinkButton    button        = (LinkButton)sender;
            RepeaterItem  item          = (RepeaterItem)button.NamingContainer;
            ProcessedTask processedTask = new ProcessedTask()
            {
                Id = GetRowTaskId(item, false)
            };

            processedTask.Read();
            LoadEditBox(processedTask);
        }
Ejemplo n.º 7
0
        protected void btnSubInformarProblema_Click(object sender, EventArgs e)
        {
            LinkButton    button        = (LinkButton)sender;
            RepeaterItem  item          = (RepeaterItem)button.NamingContainer;
            ProcessedTask processedTask = new ProcessedTask()
            {
                Id = GetRowTaskId(item)
            };

            processedTask.Read();
            LoadRejectForm(processedTask);
        }
        private bool CreateProcessedTask(LoopTaskSchedule loopTaskSchedule, DateTime startDate, DateTime endDate)
        {
            int           assignedStatusId = 1;
            ProcessedTask processedTask    = new ProcessedTask()
            {
                Commentary       = null,
                AssignationDate  = DateTime.Now,
                IdTaskStatus     = assignedStatusId,
                TaskAssignment   = loopTaskSchedule.LoopTask.TaskAssignment,
                LoopTaskSchedule = loopTaskSchedule,
                StartDate        = startDate,
                EndDate          = endDate
            };

            return(processedTask.Create());
        }
 private void LoadEditBox(ProcessedTask processedTask)
 {
     divEditarInfo.Visible        = true;
     ddlResponsable.SelectedValue = processedTask.TaskAssignment.ReceiverUser.Id.ToString();
     lblInternalId.Text           = processedTask.Id.ToString();
     if (processedTask.TaskAssignment.Task.IsPredefined)
     {
         txtNombreTarea.Enabled = false;
         txtDescripcion.Enabled = false;
         lblMessage.Text        = "Tarea predeterminada, no puede editar nombre ni descripción";
     }
     txtNombreTarea.Text = processedTask.TaskAssignment.Task.Name;
     txtDescripcion.Text = processedTask.TaskAssignment.Task.Description;
     txtFechaInicio.Text = processedTask.StartDate.ToLocalTime().ToString("yyyy-MM-ddTHH:mm");
     txtFechaFin.Text    = processedTask.EndDate.ToLocalTime().ToString("yyyy-MM-ddTHH:mm");
 }
        private bool CreateProcessedTask(LoopTaskSchedule loopTaskSchedule, DateTime startTime, DateTime endTime, int differenceBetweenDays)
        {
            int      assignedStatusId = 1;
            DateTime startDate        = DateTime.Now.AddDays(differenceBetweenDays);

            startDate = startDate.Date + startTime.TimeOfDay;
            DateTime      endDate       = startDate.Date + endTime.TimeOfDay;
            ProcessedTask processedTask = new ProcessedTask()
            {
                Commentary       = null,
                AssignationDate  = DateTime.Now,
                IdTaskStatus     = assignedStatusId,
                TaskAssignment   = loopTaskSchedule.LoopTask.TaskAssignment,
                LoopTaskSchedule = loopTaskSchedule,
                StartDate        = startDate,
                EndDate          = endDate
            };

            return(processedTask.Create());
        }
Ejemplo n.º 11
0
        private Color GetKPIColor(ProcessedTask processedTask)
        {
            Color    color;
            DateTime now = DateTime.Now;

            if (processedTask.EndDate < now)
            {
                color = Color.Red;
            }
            else if (processedTask.EndDate.Date == now.Date)
            {
                color = Color.DarkKhaki;
            }
            else
            {
                color = Color.Green;
            }

            return(color);
        }
        protected void btnEditar_Click(object sender, EventArgs e)
        {
            int      reassignedStatusId = 4;
            DateTime startDate;
            DateTime endDate;

            if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || string.IsNullOrWhiteSpace(txtNombreTarea.Text) || DateTime.TryParse(txtFechaInicio.Text, out startDate) == false || DateTime.TryParse(txtFechaFin.Text, out endDate) == false)
            {
                lblMessage.Text = "Los datos ingresados son inválidos";
            }
            else
            {
                ProcessedTask processedTask = new ProcessedTask()
                {
                    Id = int.Parse(lblInternalId.Text)
                };
                if (processedTask.Read() && processedTask.TaskAssignment.AssignerUser.Id == ((User)Session["ses"]).Id)
                {
                    if (processedTask.TaskAssignment.Task.IsPredefined == false)
                    {
                        processedTask.TaskAssignment.Task.Name        = txtNombreTarea.Text;
                        processedTask.TaskAssignment.Task.Description = txtDescripcion.Text;
                        processedTask.TaskAssignment.Task.Update();
                    }
                    processedTask.Commentary                  = null;
                    processedTask.StartDate                   = startDate;
                    processedTask.EndDate                     = endDate;
                    processedTask.AssignationDate             = DateTime.Now;
                    processedTask.IdTaskStatus                = reassignedStatusId;
                    processedTask.TaskAssignment.ReceiverUser = new User(int.Parse(ddlResponsable.SelectedValue));
                    processedTask.TaskAssignment.Update();
                    processedTask.TaskAssignment.Task.Update();
                    processedTask.Update();
                    Response.Redirect("AdministrarTareaRechazada.aspx");
                }
                else
                {
                    lblMessage.Text = "Error desconocido.";
                }
            }
        }
Ejemplo n.º 13
0
        private void SetRowInTableInformation(RepeaterItem item, ProcessedTask processedTask)
        {
            Color color = GetKPIColor(processedTask);

            SetTableindividualLabelInformation("lblSubNombre", processedTask.TaskAssignment.Task.Name, item, color);
            SetTableindividualLabelInformation("lblAsignadaPor", processedTask.TaskAssignment.AssignerUser.FullName(), item, color);
            SetTableindividualLabelInformation("lblSubDescripcion", processedTask.TaskAssignment.Task.Description, item, color);
            SetTableindividualLabelInformation("lblSubFechaInicio", processedTask.StartDate.ToString(), item, color);
            SetTableindividualLabelInformation("lblSubFechaFin", processedTask.EndDate.ToString(), item, color);

            if (processedTask.TaskAssignment.Task.DependentTask != null)
            {
                SetTableindividualLabelInformation("lblSubDependencia", processedTask.TaskAssignment.Task.DependentTask.Name, item, color);
            }
            else
            {
                SetTableindividualLabelInformation("lblSubDependencia", "Ninguna", item, color);
            }

            SetTableindividualLabelInformation("lblIdTarea", processedTask.Id.ToString(), item, color);
        }
        protected void btnSubAceptar_Click(object sender, EventArgs e)
        {
            int          InProcessId = 2;
            int          errorCode   = -1;
            LinkButton   button      = (LinkButton)sender;
            RepeaterItem item        = (RepeaterItem)button.NamingContainer;
            int          rowTaskId   = GetRowTaskId(item);

            if (rowTaskId != errorCode)
            {
                ProcessedTask processedTask = new ProcessedTask()
                {
                    Id = rowTaskId
                };
                processedTask.Read();
                processedTask.IdTaskStatus = InProcessId;
                processedTask.Update();
            }

            Response.Redirect("TareasAsignadas.aspx");
        }
Ejemplo n.º 15
0
        protected void btnSubFinalizar_Click(object sender, EventArgs e)
        {
            int          CompleteTaskId = 3;
            int          errorCode      = -1;
            LinkButton   button         = (LinkButton)sender;
            RepeaterItem item           = (RepeaterItem)button.NamingContainer;
            int          rowTaskId      = GetRowTaskId(item);

            if (rowTaskId != errorCode)
            {
                ProcessedTask processedTask = new ProcessedTask()
                {
                    Id = rowTaskId
                };
                processedTask.Read();
                processedTask.IdTaskStatus = CompleteTaskId;
                processedTask.Update();
            }

            Response.Redirect("VerTareasActivas.aspx");
        }
        private void SetRowInTableInformation(RepeaterItem item, ProcessedTask processedTask, int status)
        {
            SetTableindividualLabelInformation("lblSubNombre", processedTask.TaskAssignment.Task.Name, item);
            SetTableindividualLabelInformation("lblSubDescripcion", processedTask.TaskAssignment.Task.Description, item);
            SetTableindividualLabelInformation("lblSubFechaInicio", processedTask.StartDate.ToString(), item);
            SetTableindividualLabelInformation("lblSubFechaFin", processedTask.EndDate.ToString(), item);

            /*
             * if (processedTask.TaskAssignment.Task.DependentTask != null)
             * {
             *  SetTableindividualLabelInformation("lblSubDependencia", processedTask.TaskAssignment.Task.DependentTask.Name, item);
             * }
             * else
             * {
             *  SetTableindividualLabelInformation("lblSubDependencia", "Ninguna", item);
             *
             * }*/
            SetTableindividualLabelInformation("lblResponsable", processedTask.TaskAssignment.ReceiverUser.FullName(), item);
            SetTableindividualLabelInformation("lblMotivo", processedTask.Commentary, item);
            SetTableindividualLabelInformation("lblIdTarea", processedTask.Id.ToString(), item);
        }
        protected void btnSubEliminarProblema_Click(object sender, EventArgs e)
        {
            divEditarInfo.Visible = false;
            int          failedId  = 7;
            int          errorCode = -1;
            LinkButton   button    = (LinkButton)sender;
            RepeaterItem item      = (RepeaterItem)button.NamingContainer;
            int          rowTaskId = GetRowTaskId(item, failedId);

            if (rowTaskId != errorCode)
            {
                ProcessedTask processedTask = new ProcessedTask()
                {
                    Id = rowTaskId
                };
                processedTask.Read();
                processedTask.IdTaskStatus = failedId;
                processedTask.Update();
            }

            Response.Redirect("AdministrarTareaRechazada.aspx");
        }
        private ProcessedTask CreateUniqueFlowTask(User user)
        {
            try
            {
                int            AssignedTaskStatusCode = 1;
                TaskAssignment taskAssignment         = CreateTaskAssignment(user);
                ProcessedTask  processedTask          = new ProcessedTask()
                {
                    AssignationDate  = DateTime.Now,
                    Commentary       = null,
                    StartDate        = DateTime.Parse(txtFechaInicio.Text),
                    EndDate          = DateTime.Parse(txtFechaFin.Text),
                    LoopTaskSchedule = null,
                    TaskAssignment   = taskAssignment,
                    IdTaskStatus     = AssignedTaskStatusCode
                };

                return(processedTask);
            }
            catch (Exception e)
            {
                return(null);
            }
        }