public ScenarioModel(MapScenarioModel source, MapModel map, RepoInfo repo, ScenarioModel parent)
            : base(source.Id, repo)
        {
            Title   = source.Title;
            Summary = source.Summary;
            Parent  = parent;

            if (source.Children != null)
            {
                foreach (var childScenario in source.Children)
                {
                    ChildrenScenarios.Add(new ScenarioModel(childScenario, map, repo, this));
                }
            }

            if (source.ProposalExamples != null)
            {
                foreach (var proposal in source.ProposalExamples)
                {
                    var p = new ProposalExampleModel(this, proposal, map, repo);
                    if (p.Info != null)
                    {
                        // Don't allow duplicate proposals
                        if (!Proposals.Any(i => i.ProposalId == p.ProposalId))
                        {
                            Proposals.Add(p);
                        }
                    }
                }
            }
        }
        public static Proposals Insert(string sessionId, Proposals jsonObject)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var proposalInfo   = new CrmBEPropostaOPV();
            var proposalsTable = PrimaveraEngine.Engine.CRM.PropostasOPV;

            /*if (opportunitiesTable.Existe(opportunityId))
             * {
             *  throw new EntityExistsException("oportunidade", true);
             * }*/

            SetFields(proposalInfo, jsonObject);
            proposalsTable.Actualiza(proposalInfo);

            /* for (int i = 0; i < jsonObject.ProposalsLines.Count; i++)
             * {
             *   ProposalLinesIntegration.Insert(jsonObject.ProposalsLines[i]);
             * }*/

            return(GenerateProposal(proposalInfo, jsonObject.ProposalsLines));
        }
示例#3
0
        public async Task <IActionResult> OnGetAsync()
        {
            var username = HttpContext.Session.GetString("_username");
            var usertype = HttpContext.Session.GetString("_usertype");
            var access   = new Access(username, "Supervisor");

            if (access.IsLogin())
            {
                if (access.IsAuthorize(usertype))
                {
                    Proposals = await _context.Proposal
                                .Where(p => p.DateDeleted == null)
                                .Where(s => s.Receiver == username)
                                .Where(p => p.ProposalStatus != "Completed" && p.ProposalStatus != "Failed" && p.ProposalStatus != "Rejected")
                                .Include(p => p.Project)
                                .OrderBy(p => p.ProposalStatus)
                                .ToListAsync();

                    ProposalCount = Proposals.Count();

                    return(Page());
                }
                else
                {
                    ErrorMessage = "Access Denied";
                    return(RedirectToPage($"/{usertype}/Index"));
                }
            }
            else
            {
                ErrorMessage = "Login Required";
                return(RedirectToPage("/Account/Login"));
            }
        }
        // PUT: api/proposals/{$proposalsId}
        // FEATURE: Editar proposta existente
        public HttpResponseMessage Put(string id, [FromBody] Proposals jsonObject)
        {
            if (Authentication.VerifyToken("?"))
            {
                try
                {
                    var operationResult = ProposalsIntegration.Update(Authentication.GetRepresentative(null), HttpUtility.UrlDecode(id), jsonObject);

                    if (operationResult == null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound));
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, operationResult));
                    }
                }
                catch (Exception ex)
                {
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.Forbidden));
            }
        }
示例#5
0
        /// <summary>
        /// The Get Proposal By Name Or ID method gets a proposal both from either its token, staff message ID or message ID.
        /// </summary>
        /// <param name="Tracker">The tracked variable of the proposal you would like to find.</param>
        /// <returns>A proposal object pertaining to the proposal that has been returned on the tracked token.</returns>

        public Proposal GetProposalByNameOrID(string Tracker)
        {
            Proposal TryTracked = Proposals.Find(Tracker);

            if (TryTracked != null)
            {
                return(TryTracked);
            }

            if (ulong.TryParse(Tracker, out ulong TrackerASULONG))
            {
                Proposal TryMessageID = Proposals.AsQueryable().Where(Proposal => Proposal.MessageID == TrackerASULONG).FirstOrDefault();

                if (TryMessageID != null)
                {
                    return(TryMessageID);
                }

                Suggestion Suggestion = Suggestions.AsQueryable().Where(Suggestion => Suggestion.StaffMessageID == TrackerASULONG).FirstOrDefault();

                if (Suggestion != null)
                {
                    return(Proposals.Find(Suggestion.Tracker));
                }
            }

            return(null);
        }
示例#6
0
        public async Task <IActionResult> OnGetAsync()
        {
            var username = HttpContext.Session.GetString("_username");
            var usertype = HttpContext.Session.GetString("_usertype");
            var access   = new Access(username, "Student");

            if (access.IsLogin())
            {
                if (access.IsAuthorize(usertype))
                {
                    Proposals = await _context.Proposal
                                .Where(s => s.DateDeleted == null)
                                .Where(s => s.Sender == username)
                                .Include(p => p.Project)
                                .OrderBy(p => p.ProposalStatus)
                                .ToListAsync();

                    ProposalCount = Proposals.Count();

                    ActiveProposals   = new List <Proposal>();
                    RejectedProposals = new List <Proposal>();

                    Student = await _context.Student.Where(s => s.DateDeleted == null).FirstOrDefaultAsync(s => s.AssignedId == username);

                    foreach (var proposal in Proposals)
                    {
                        if (proposal.ProposalStatus != "Rejected" && proposal.ProposalStatus != "Failed")
                        {
                            ActiveProposalCount += 1;
                            ActiveProposals.Add(proposal);
                        }
                        else
                        {
                            RejectedProposals.Add(proposal);
                        }
                    }

                    Requisition = await _context.Requisition.Where(r => r.DateDeleted == null).Where(r => r.RequisitionStatus != "Rejected").FirstOrDefaultAsync(r => r.Sender == username);

                    return(Page());
                }
                else
                {
                    ErrorMessage = "Access Denied";
                    return(RedirectToPage($"/{usertype}/Index"));
                }
            }
            else
            {
                ErrorMessage = "Login Required";
                return(RedirectToPage("/Account/Login"));
            }
        }
示例#7
0
        public async Task ResetAsync()
        {
            BakerCycles.Reset();
            BakingRights.Reset();
            Blocks.Reset();
            Protocols.Reset();
            Proposals.Reset();
            Periods.Reset();

            await AppState.ResetAsync();

            await Accounts.ResetAsync();
        }
 private static void SetFields(CrmBEPropostaOPV proposalInfo, Proposals jsonObject)
 {
     proposalInfo.set_IdOportunidade(jsonObject.idOportunidade);
     proposalInfo.set_DescontoEntidade(jsonObject.EntityDiscount);
     proposalInfo.set_NumProposta(jsonObject.ProposalNumber);
     proposalInfo.set_Descricao(jsonObject.Description);
     proposalInfo.set_ModoPagamento(jsonObject.PaymentMethod);
     proposalInfo.set_CondPagamento(jsonObject.PaymentCondition);
     proposalInfo.set_Custo(jsonObject.Cost);
     proposalInfo.set_Valor(jsonObject.Value);
     proposalInfo.set_ValorDesconto(jsonObject.DiscountValue);
     proposalInfo.set_Rentabilidade(jsonObject.Rentability);
     proposalInfo.set_Margem(jsonObject.Margin);
     proposalInfo.set_NaoTotalizadora(jsonObject.Totalize);
     proposalInfo.set_Observacoes(jsonObject.Observations);
 }
示例#9
0
        public async Task ResetAsync()
        {
            BakerCycles.Reset();
            BakingRights.Reset();
            Blocks.Reset();
            Protocols.Reset();
            Proposals.Reset();
            Periods.Reset();
            Statistics.Reset();
            Software.Reset();
            Schemas.Reset();
            Storages.Reset();

            await AppState.ResetAsync();

            await Accounts.ResetAsync();
        }
        public static Proposals Update(string sessionId, string opportunityId, Proposals jsonObject)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var proposalsTable = PrimaveraEngine.Engine.CRM.PropostasOPV;

            /*if (opportunitiesTable.Existe(opportunityId) == false)
             * {
             *  throw new NotFoundException("oportunidade", true);
             * }*/

            var proposalInfo = proposalsTable.Edita(opportunityId, jsonObject.ProposalNumber);

            /*if (CheckPermissions(opportunityInfo, sessionId) == false)
             * {
             *  return null;
             * }*/

            //var proposalsInfo = opportunitiesTable.EditaPropostasOPV(opportunityId);
            //var currentProposal = proposalsInfo.get_Edita(0);
            //currentProposal.set_EmModoEdicao(true);
            //var linhasProposta = currentProposal.get_Linhas();

            proposalInfo.set_EmModoEdicao(true);
            proposalInfo.set_NumProposta(jsonObject.ProposalNumber);
            proposalInfo.set_Descricao(jsonObject.Description);
            proposalInfo.set_ModoPagamento(jsonObject.PaymentMethod);
            proposalInfo.set_CondPagamento(jsonObject.PaymentCondition);
            proposalInfo.set_Custo(jsonObject.Cost);
            proposalInfo.set_Valor(jsonObject.Value);
            proposalInfo.set_ValorDesconto(jsonObject.DiscountValue);
            proposalInfo.set_Rentabilidade(jsonObject.Rentability);
            proposalInfo.set_Margem(jsonObject.Margin);
            proposalInfo.set_Observacoes(jsonObject.Observations);
            proposalsTable.Actualiza(proposalInfo);

            return(GenerateProposal(proposalInfo, jsonObject.ProposalsLines));
        }
示例#11
0
    public void addPdfChilds(Proposals proposals)
    {
        /* Dummy data
         * List<PurchaseData> list = new List<PurchaseData>();
         * list.Add(new PurchaseData("2019-03-12", "https://roho.fitness/pdf/terms/terms.pdf"));
         * list.Add(new PurchaseData("2019-03-11", "https://google.com")); */

        foreach (Transform child in pdfList.transform)
        {
            GameObject.Destroy(child.gameObject);
        }

        foreach (Proposal data in proposals.PROPUESTAS)
        {
            GameObject prefabInstance = Instantiate(basePrefabPdf) as GameObject;
            prefabInstance.transform.SetParent(pdfList.transform);
            prefabInstance.transform.localScale = new Vector3(1, 1, 1);
            prefabInstance.GetComponentsInChildren <Text>()[0].text = "Propuesta #" + data.PROP_ID; //+"\n\nCosto $"+data.PRECIO_COMPRA;
            prefabInstance.GetComponentsInChildren <Text>()[2].text = data.FECHA_ALTA;              // + "\n\n" + data.STATUS_PDF;
            prefabInstance.GetComponentsInChildren <Text>()[3].text = "Costo $" + data.PRECIO_COMPRA;
            prefabInstance.GetComponentsInChildren <Text>()[1].text = data.STATUS_PDF;

            prefabInstance.GetComponentsInChildren <PdfData>()[0].date    = data.FECHA_ALTA;
            prefabInstance.GetComponentsInChildren <PdfData>()[0].price   = data.PRECIO_COMPRA;
            prefabInstance.GetComponentsInChildren <PdfData>()[0].status  = data.STATUS_PDF;
            prefabInstance.GetComponentsInChildren <PdfData>()[0].prop_id = data.PROP_ID;
            prefabInstance.GetComponentsInChildren <PdfData>()[0].invoice = data.NOMBRE_FACTURA;

            prefabInstance.GetComponentsInChildren <PdfData>()[1].date    = data.FECHA_ALTA;
            prefabInstance.GetComponentsInChildren <PdfData>()[1].price   = data.PRECIO_COMPRA;
            prefabInstance.GetComponentsInChildren <PdfData>()[1].status  = data.STATUS_PDF;
            prefabInstance.GetComponentsInChildren <PdfData>()[1].prop_id = data.PROP_ID;
            prefabInstance.GetComponentsInChildren <PdfData>()[1].invoice = data.NOMBRE_FACTURA;

            prefabInstance.GetComponentsInChildren <PdfData>()[0].script = transform.GetComponent <AmazonRequest>();
            prefabInstance.GetComponentsInChildren <PdfData>()[1].script = transform.GetComponent <AmazonRequest>();
        }
    }
示例#12
0
 void loadBoughtList(WWW www)
 {
     proposals = new Proposals();
     proposals = JsonUtility.FromJson <Proposals>(www.text);
     GetComponent <Compras>().addPdfChilds(proposals);
 }
示例#13
0
 public void Add(IProposal proposal)
 {
     Proposals.Add(proposal);
 }
示例#14
0
 public IEnumerator <IProposal> GetEnumerator()
 {
     return(Proposals.GetEnumerator());
 }
 public bool accept(HQLCompletionProposal proposal)
 {
     Proposals.Add(proposal);
     return(true);
 }
示例#16
0
 private bool Equals(ProposalCollection other)
 {
     return(Proposals.SequenceEqual(other.Proposals));
 }
示例#17
0
 public override int GetHashCode()
 {
     return(Proposals.GetHashCode());
 }
示例#18
0
        static SeedGetter()
        {
            var fileName   = "dataseed.json";
            var path       = Path.Combine(Environment.CurrentDirectory, fileName);
            var jsonString = File.ReadAllTextAsync(path).Result;
            var seed       = JsonConvert.DeserializeObject <DataSeed>(jsonString);

            foreach (var user in seed.DeanEmployees)
            {
                var preparedUser = PrepareUser(user);
                Users.Add(preparedUser);
                DeanEmployees.Add(preparedUser);
            }
            foreach (var student in seed.Students)
            {
                var user = PrepareUser(student.ApplicationUser);
                Users.Add(user);
                student.ApplicationUser = null;
                student.UserId          = user.Id;

                //if (student.Id == Guid.Empty)
                //{
                //    student.Id = Guid.NewGuid();
                //}
                Students.Add(student);
            }
            foreach (var institute in seed.Institutes)
            {
                //if (institute.Id == Guid.Empty)
                //{
                //    institute.Id = Guid.NewGuid();
                //}

                foreach (var promoter in institute.Promoters)
                {
                    var user = PrepareUser(promoter.ApplicationUser);
                    Users.Add(user);
                    promoter.ApplicationUser = null;
                    promoter.UserId          = user.Id;
                    promoter.InstituteId     = institute.Id;
                    //if (promoter.Id == Guid.Empty)
                    //{
                    //    promoter.Id = Guid.NewGuid();
                    //}
                    Promoters.Add(promoter);
                }
                institute.Promoters = null;
                Institutes.Add(institute);
            }
            foreach (var faculty in seed.Faculties)
            {
                //if (faculty.Id == Guid.Empty)
                //{
                //    faculty.Id = Guid.NewGuid();
                //}

                foreach (var course in faculty.Courses)
                {
                    //if (course.Id == Guid.Empty)
                    //{
                    //    course.Id = Guid.NewGuid();
                    //}
                    course.FacultyId = faculty.Id;
                    foreach (var proposal in course.Proposals)
                    {
                        //if (proposal.Id == Guid.Empty)
                        //{
                        //    proposal.Id = Guid.NewGuid();
                        //}
                        proposal.CourseId     = course.Id;
                        proposal.StartingDate = new DateTime(2019, 10, 1);
                        Proposals.Add(proposal);
                    }
                    course.Proposals = null;
                    Courses.Add(course);
                }
                faculty.Courses = null;
                Faculties.Add(faculty);
            }
        }
示例#19
0
 public int GetPosition(IProposal proposal)
 {
     return(Proposals.IndexOf(proposal));
 }