private void loadPeriods() { using (var rep = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { var periods = rep.getAll(); if (periods != null && periods.Count > 0) { var list = periods.OrderBy(p => p.InitialDate).ToList().Select(p => new { IdCrypt = Commons.SecurityUtils.criptografar(p.Id.ToString()), Name = p.Open ? String.Format("{0} (Aberto)", String.Format(Resources.Label.list_item_period_label, p.Name, p.InitialDate, p.FinalDate)) : String.Format(Resources.Label.list_item_period_label, p.Name, p.InitialDate, p.FinalDate), Open = p.Open }).ToList(); ddlPeriods.DataSource = list; ddlPeriods.DataBind(); var periodOpen = list.Where(a => a.Open == true).FirstOrDefault(); if (periodOpen != null) ddlPeriods.SelectedIndex = list.IndexOf(periodOpen); } else { ddlPeriods.Items.Add(new ListItem(Resources.Message.no_period_has_found, "")); } } }
public override void ProcessRequest(HttpContext context) { try { if (!userAuthenticate()) { throw new Exception(Resources.Message.user_not_allowed); } List<Lib.Entities.Period> periods = null; JavaScriptSerializer serializer = new JavaScriptSerializer(); var initialDate = String.IsNullOrEmpty(context.Request.Form["id"]) ? DateTime.MinValue : DateTime.Parse(context.Request.Form["id"], new System.Globalization.CultureInfo("pt-BR")); var finalDate = String.IsNullOrEmpty(context.Request.Form["fd"]) ? DateTime.MaxValue : DateTime.Parse(context.Request.Form["fd"], new System.Globalization.CultureInfo("pt-BR")); var t = context.Request.Form["ut"].Split(",".ToCharArray()); bool open = t.Contains("open") ? true : false; bool closed = t.Contains("closed") ? true : false; using (Lib.Repositories.PeriodRepository rep = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { periods = rep.selectWhere(f => f.InitialDate >= initialDate && f.FinalDate <= finalDate); } if (!open) { periods = periods.Where(f => f.Open == false).ToList(); } if (!closed) { periods = periods.Where(f => f.Open == true).ToList(); } var result = periods.OrderBy(p=>p.FinalDate).Select(period => new { Id = Commons.SecurityUtils.criptografar(period.Id.ToString()), IdEncoded = HttpUtility.UrlEncode(Commons.SecurityUtils.criptografar(period.Id.ToString())), Name = period.Name, FinalDate = period.FinalDate.ToString("dd/MM/yyyy"), InitialDate = period.InitialDate.ToString("dd/MM/yyyy"), Open = period.Open, Published = period.Published, CanPublish = period.IsThereOneOrMoreResponseFormAccepted, ActiveUserType = this.ActiveUser.UserTypeEnum.ToString(), InitialConvocationDate = period.ConvocationInitialDate.ToString("dd/MM/yyyy"), FinalConvocationDate = period.ConvocationFinalDate.ToString("dd/MM/yyyy") }).ToList(); context.Response.ContentType = "application/json"; context.Response.Write(serializer.Serialize(result)); } catch (Exception ex) { Lib.Log.ErrorLog.saveError("Web.Handler.User.GetAll.ProcessRequest", ex); context.Response.StatusCode = 500; context.Response.Write(String.Format(Resources.Message.unknow_error, ex.Message)); } }
protected void btnSave_Click(object sender, EventArgs e) { var cult = new System.Globalization.CultureInfo("pt-BR"); long periodId = 0; phMessageError.Visible = false; phMessageSuccess.Visible = false; lblMessageError.Text = String.Empty; lblMessageSuccess.Text = String.Empty; Lib.Entities.Period p = new Lib.Entities.Period(); p.ConvocationInitialDate = DateTime.Parse(txtConvocationInitialDate.Text, cult); p.ConvocationFinalDate = DateTime.Parse(txtConvocationFinalDate.Text, cult); p.FinalDate = DateTime.Parse(txtFinalDate.Text, cult); p.InitialDate = DateTime.Parse(txtInitialDate.Text, cult); p.Name = txtName.Text; p.Open = chkAberto.Checked; if (!String.IsNullOrEmpty(hdnPeriodId.Value)) { periodId = Convert.ToInt64(Commons.SecurityUtils.descriptografar(hdnPeriodId.Value)); p.Id = periodId; } using (Lib.Repositories.PeriodRepository repository = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { repository.save(p); if (repository.HasErrors) { phMessageError.Visible = true; lblMessageError.Text = String.Join(",", repository.Errors); } else { phMessageSuccess.Visible = true; if (periodId == 0) { lblMessageSuccess.Text = String.Format("Período '{0}' foi criado com sucesso!", txtName.Text); } else { lblMessageSuccess.Text = String.Format("Período '{0}' foi atualizado com sucesso!", txtName.Text); } Response.Redirect("~/Period/List.aspx"); } } }
public override void ProcessRequest(HttpContext context) { try { var periodIdString = context.Request.Form["Id"]; long periodId = 0; long.TryParse(Commons.SecurityUtils.descriptografar(periodIdString), out periodId); if (periodId > 0) { using (Lib.Repositories.PeriodRepository repository = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { var period = repository.getInstanceById(periodId); if (period != null) { period.Published = true; period.Open = false; repository.save(period); } else { throw new Exception(Resources.Message.period_not_found); } } } else { throw new Exception(Resources.Message.period_id_not_found); } context.Response.ContentType = "text/plain"; context.Response.Write("Ok"); } catch (Exception ex) { Lib.Log.ErrorLog.saveError("Web.Handler.ResponseForm.Action.ProcessRequest", ex); context.Response.StatusCode = 500; context.Response.Write(Resources.Message.couldnt_process_request); } }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); //Precisa estar aqui, pois a atualização do periodo acontece após o Page_Load e depois atualiza o período. phPeriodOpen.Visible = false; using (Lib.Repositories.PeriodRepository rep = new Lib.Repositories.PeriodRepository(this.BasePage.ActiveUser)) { var period = rep.getPeriodOpen(); if (period != null) { linkToRequestCities.NavigateUrl = String.Format("/City/RequestCities.aspx?periodId={0}", HttpUtility.UrlEncode(Commons.SecurityUtils.criptografar(period.Id.ToString()))); linkToOpenForms.NavigateUrl = String.Format("/Form/ListResponseForm.aspx?periodId={0}", HttpUtility.UrlEncode(Commons.SecurityUtils.criptografar(period.Id.ToString()))); menu_period_period.Text = String.Format(Resources.Label.menu_period, period.FinalDate.ToString("dd/MM/yyyy")); phPeriodOpen.Visible = true; } else { menu_period_period.Text = String.Format(Resources.Label.menu_period, ""); } } }
//private void loadRequestCities(long cityId, long periodId) //{ // using (Lib.Repositories.UserRepository ctx = new Lib.Repositories.UserRepository(this.ActiveUser)) // { // var listPendingRequests = ctx.getAllRequestsFromCity(cityId, periodId); // listPendingRequests.Select(l=>l. // } //} private void loadPeriodInformation(Lib.Entities.City city) { phOpenPeriodInformation.Visible = false; using (Lib.Repositories.PeriodRepository ctx = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { var periodOpen = ctx.getPeriodOpen(); if (periodOpen != null) { ltOpenPeriodTitle.Text = String.Format("Responsáveis e colaboradores no período ({0})", periodOpen.Name); hdOpenPeriodId.Value = Commons.SecurityUtils.criptografar(periodOpen.Id.ToString()); phOpenPeriodInformation.Visible = true; if (city != null) { //Recupera o grupo da cidade e periodo selecionado var group = city.Groups.Where(g => g.PeriodId == periodOpen.Id).FirstOrDefault(); if (group != null) { var list = group.Collaborators.Select(c => new { Id = c.Id, Name = c.Name }).ToList(); JavaScriptSerializer js = new JavaScriptSerializer(); hdCurrentCollabsJson.Value = js.Serialize(list); hdCollabValues.Value = String.Join(",", list.Select(i => i.Id).ToList()); hdCurrentCollabs.Value = hdCollabValues.Value; if (group.Responsable != null) { ddlResponsable.SelectedValue = group.ResponsableId.ToString(); } } //loadRequestCities(city.Id, periodOpen.Id); } } } }
private void verifyWarnings() { using (Lib.Repositories.PeriodRepository rep = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { var periodOpen = rep.getPeriodOpen(); DateTime lastDate = DateTime.MinValue; var allPeriods = rep.getAll(); if (allPeriods.Count > 0) { lastDate = allPeriods.Max(p => p.FinalDate); } if (periodOpen != null) { phMessageWarning.Visible = true; ltMessageWarning.Text = String.Format(Resources.Message.exists_an_open_period_from_to, periodOpen.InitialDate, periodOpen.FinalDate); } if (lastDate != DateTime.MinValue) { phMessageWarning2.Visible = true; ltMessageWarning2.Text = String.Format(Resources.Message.need_create_period_from, lastDate); } } }
private void loadForm() { using (Lib.Repositories.PeriodRepository rep = new Lib.Repositories.PeriodRepository(this.ActiveUser)) { hdnPeriodId.Value = Page.Request.QueryString["id"]; long periodId = Convert.ToInt64(Commons.SecurityUtils.descriptografar(hdnPeriodId.Value)); var period = rep.getInstanceById(periodId); txtName.Text = period.Name; txtFinalDate.Text = period.FinalDate.ToString("dd/MM/yyyy"); txtInitialDate.Text = period.InitialDate.ToString("dd/MM/yyyy"); txtConvocationInitialDate.Text = period.ConvocationInitialDate.ToString("dd/MM/yyyy"); txtConvocationFinalDate.Text = period.ConvocationFinalDate.ToString("dd/MM/yyyy"); txtName.Enabled = false; //txtInitialDate.Enabled = false; chkAberto.Checked = period.Open; } }