public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ticket ticket = db.Tickets.Find(id);

            if (ticket == null)
            {
                return(HttpNotFound());
            }
            TicketsHelper ticketHelper = new TicketsHelper(db);
            var           userId       = User.Identity.GetUserId();

            if (!ticketHelper.HasTicketPermission(userId, ticket.Id))
            {
                TempData["Error"] = "Sorry, you do not have permission to access that ticket.";
                return(RedirectToAction("Index"));
            }
            var project      = db.Projects.FirstOrDefault(p => p.Id == ticket.ProjectId);
            var ProjectTitle = project.Title;
            var type         = db.Types.Find(ticket.TypeId);
            var TicketType   = type.Name;

            ViewBag.ProjectTitle = ProjectTitle;
            ViewBag.TicketType   = TicketType;
            return(View(ticket));
        }
        public ActionResult Index()
        {
            var           userId  = User.Identity.GetUserId();
            TicketsHelper helper  = new TicketsHelper(db);
            var           tickets = helper.GetUserTickets(userId);

            return(View(tickets));
        }
Example #3
0
        protected override bool OnProcessMessageH2GExternal_SIM(FFTgtExecutionContext context, IFreeformEntity_MsgTgt target)
        {
            FFTgt_H2G_Ticket_Redemption_Response   tgtSrc = target as FFTgt_H2G_Ticket_Redemption_Response;
            FF_AppId_TicketRedemption_Close_Status status = (tgtSrc.Amount > 0 ? FF_AppId_TicketRedemption_Close_Status.Success : FF_AppId_TicketRedemption_Close_Status.CouponRejectedbySystem);

            context.FreeformTargets.Add(TicketsHelper.RedeemTicketComplete(context.SourceMessage.IpAddress,
                                                                           tgtSrc.Barcode, tgtSrc.Amount, tgtSrc.Type, status));
            return(true);
        }
Example #4
0
        public void CloseTicket()
        {
            Tickets ticketToUpdate = TicketsHelper.GetTicketByPrimaryKey(2);


            bool actual   = TicketsHelper.CloseTicket(ticketToUpdate);
            bool expected = true;

            Assert.AreEqual(expected, actual);
        }
        // GET: Admin
        public ActionResult TicketAssign(string id)
        {
            TicketsHelper ticketHelper = new TicketsHelper();
            //Get a list of tickets i am already assigned to
            var myTicketIds = ticketHelper.ListUserTickets(id).Select(t => t.Id);

            ViewBag.UserId     = id;
            ViewBag.AllTickets = new MultiSelectList(db.Tickets, "Id", "Title", myTicketIds);
            return(View());
        }
        public HttpResponseMessage Save([FromBody] Tickets ticket)
        {
            bool SuccesfullSaved = TicketsHelper.Save(ticket);

            if (!SuccesfullSaved)
            {
                throw new HttpResponseException(HttpStatusCode.InternalServerError);
            }

            return(Request.CreateResponse(HttpStatusCode.Created));
        }
        public HttpResponseMessage GetTicketsById(int id)
        {
            if (!TicketsHelper.Exists(id))
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            Tickets ticket = TicketsHelper.GetTicketByPrimaryKey(id);

            return(Request.CreateResponse(HttpStatusCode.OK, ticket));;
        }
Example #8
0
        public void updateTicketLibrary()
        {
            Tickets ticketToUpdate = TicketsHelper.GetTicketByPrimaryKey(2);

            ticketToUpdate.Descripcion = "Problemas de Super red";

            bool actual   = TicketsHelper.updateTicket(ticketToUpdate);
            bool expected = true;

            Assert.AreEqual(expected, actual);
        }
        public HttpResponseMessage GetAll()
        {
            List <Tickets> Tickets    = TicketsHelper.GetAll();
            bool           TheresData = Tickets.Count > 0;

            if (!TheresData)
            {
                throw new HttpResponseException(HttpStatusCode.NoContent);
            }

            return(Request.CreateResponse(HttpStatusCode.OK, Tickets));
        }
 public BillsTicketCounter()
 {
     InitializeComponent();
     MessageBox.childOwner = this;
     btnExceptionTickets.Visibility = (Settings.HANDLE_EXCEPTIONTICKETS_COUNTER) ? Visibility.Visible : Visibility.Collapsed;
     if (!String.IsNullOrEmpty(ManualCashEntry.sSiteCode))
     {
         txtHeader.Text += "\t\t\t\t" + Application.Current.FindResource("ManualCashEntry_xaml_lblSiteCode").ToString().Trim() + " " + ManualCashEntry.sSiteCode;
     }
     _objCollectionHelper = new CollectionHelper();
     _objExchangeHelper = new ExchangeHelper();
     _objTicketsHelper = new TicketsHelper();
 }
Example #11
0
        public void updateTicketUsingService()
        {
            Tickets ticketToUpdate = TicketsHelper.GetTicketByPrimaryKey(2);

            ticketToUpdate.Descripcion = "Problemas de Super red2";

            var client = new SimpleRest("http://localhost:14099/api/");

            client.Invoke("/Tickets/UpdateTicket", HttpMethod.PUT, ticketToUpdate);

            bool actual   = client.Response.StatusCode == System.Net.HttpStatusCode.Created;
            bool expected = true;

            Assert.AreEqual(expected, actual);
        }
        public ActionResult ClosedTickets(int?Id)
        {
            DashboardViewModel model = new DashboardViewModel();
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            if (User.IsInRole("Admin") || User.IsInRole("ProjectManager") || User.IsInRole("Developer") || User.IsInRole("Submitter"))
            {
                TicketsHelper helper = new TicketsHelper(db);
                model.Tickets = helper.GetUserTickets(userId);
                var ticket = helper.ListTickets(userId).ToList();
                model.ClosedTickets = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Closed").ToList();
                return(View(model.ClosedTickets.ToList()));
            }
            return(View());
        }
        public ActionResult TicketAssign(string UserId, List <int> AllTickets)
        {
            TicketsHelper ticketHelper = new TicketsHelper();

            //First use the Project helper to remove this user from all Tickets
            foreach (var ticket in ticketHelper.ListUserTickets(UserId))
            {
                ticketHelper.RemoveUserFromTicket(UserId, ticket.Id);
            }
            //Next add the user to the selected Projects (AllTickets)
            if (AllTickets != null)
            {
                foreach (var ticketId in AllTickets)
                {
                    ticketHelper.AddUserToTicket(UserId, ticketId);
                }
            }
            return(RedirectToAction("UserIndex", "AdminUser"));
        }
        public ActionResult History(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ticket ticket = db.Tickets.Find(id);

            if (ticket == null)
            {
                return(HttpNotFound());
            }
            TicketsHelper ticketHelper = new TicketsHelper(db);
            var           userId       = User.Identity.GetUserId();

            if (ticketHelper.HasTicketPermission(userId, ticket.Id))
            {
                ViewBag.UserId = User.Identity.GetUserId();
                return(View(ticket));
            }
            TempData["Error"] = "Sorry, you do not have permission to view that ticket.";
            return(RedirectToAction("Index"));
        }
Example #15
0
        //GET: Home/Dashboard/
        public ActionResult Dashboard(int?Id, int?projectId)
        {
            DashboardViewModel model = new DashboardViewModel();
            //get user Id
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            //filter list of projects according to user role
            if (User.IsInRole("Admin") || User.IsInRole("ProjectManager") || User.IsInRole("Developer") || User.IsInRole("Submitter"))
            {
                //list this user's projects
                ProjectsHelper phelper = new ProjectsHelper(db);
                var            project = phelper.ListProjects(userId).ToList();
                model.Projects = user.Projects.OrderByDescending(p => p.Created).ToList();
                //list this user's tickets
                TicketsHelper helper = new TicketsHelper(db);
                model.Tickets = helper.GetUserTickets(userId);
                var ticket = helper.ListTickets(userId).ToList();
                model.OpenTickets    = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Open").ToList();
                model.PendingTickets = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Pending").ToList();
                model.ClosedTickets  = user.Projects.SelectMany(p => p.Tickets).Where(t => t.Status.Status == "Closed").ToList();
            }
            return(View(model));
        }
        public ActionResult AddAttachment(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ticket ticket = db.Tickets.Find(id);

            if (ticket == null)
            {
                return(HttpNotFound());
            }
            TicketsHelper ticketHelper = new TicketsHelper(db);
            var           userId       = User.Identity.GetUserId();

            if (!ticketHelper.HasTicketPermission(userId, ticket.Id))
            {
                TempData["Error"] = "Sorry, you do not have permission to access that ticket.";
                return(RedirectToAction("Index"));
            }
            ViewBag.TicketId    = id;
            ViewBag.TicketTitle = ticket.Title;
            return(View());
        }
Example #17
0
 public ProjectsController()
 {
     projHelper         = new ProjectHelper(db);
     ticketsHelper      = new TicketsHelper(db);
     _permissionsHelper = new PermissionsHelper(db);
 }
        public CashEntry(int batch, DeclarationFilterBy filterBy, string filterValue, string SiteCode, int CurrentIndex, string ExchangeConn, string TicketingConn, IList<UndeclaredCollectionRecord> Collections)
            : this()
        {
            _objCollectionHelper = new CollectionHelper(ExchangeConn);
            _objExchangeHelper = new ExchangeHelper(ExchangeConn);
            _objTicketsHelper = new TicketsHelper(TicketingConn);
            oDeclarationBiz = new DeclarationBiz(ExchangeConn, TicketingConn);
            txtSiteInfo.Text = Application.Current.FindResource("ManualCashEntry_xaml_lblSiteCode").ToString().Trim() + " " + SiteCode;
            _IsPartCollection = (batch == 0) ? true : false;
			bEnableDefaultZero = Settings.ManualCashEntryEnableZero;
            this.Initialize(batch, filterBy, filterValue, CurrentIndex, Collections);
            cmbPosition.Focus();

        }
        public void bntCreate_Click(Object sender, EventArgs e)
        {
            #region Инициализация объектов
            var user        = (Users)Session["userinsession"];
            var rolesList   = Application["RolesList"] as List <Roles>;
            var currentRole = (Roles)rolesList.SingleOrDefault(u => u.Name.ToLower() == user.Role.ToLower());

            var withoutMoney = Convert.ToInt32(cbWithoutMoney.Checked);

            var tbAgreedCostValue = 0.00;
            double.TryParse(tbAgreedCost.Text, out tbAgreedCostValue);

            var tbGruzobozCostValue = 0.00;
            double.TryParse(tbGruzobozCost.Text, out tbGruzobozCostValue);

            var tbDeliveryCostValue = 0.00;
            double.TryParse(tbDeliveryCost.Text, out tbDeliveryCostValue);

            var ticket = new DAL.DataBaseObjects.Tickets
            {
                ID                    = Convert.ToInt32(hfID.Value),
                ChangeDate            = DateTime.Now,
                DeliveryDate          = Convert.ToDateTime(tbDeliveryDate.Text),
                AgreedCost            = Convert.ToDecimal(tbAgreedCostValue),
                Note                  = tbNote.Text,
                RecipientStreetPrefix = ddlRecipientStreetPrefix.SelectedValue,
                RecipientStreet       = TicketsHelper.RecipientStreetCleaner(tbRecipientStreet.Text),
                RecipientStreetNumber = tbRecipientStreetNumber.Text,
                RecipientKorpus       = tbRecipientKorpus.Text,
                RecipientKvartira     = tbRecipientKvartira.Text,
                BoxesNumber           = Convert.ToInt32(tbBoxesNumber.Text),
                RecipientFirstName    = tbRecipientFirstName.Text,
                RecipientLastName     = tbRecipientLastName.Text,
                RecipientThirdName    = tbRecipientThirdName.Text,
                TtnNumber             = tbTtnNumber.Text,
                TtnSeria              = tbTtnSeria.Text,
                OtherDocuments        = tbOtherDocuments.Text,
                RecipientPhone        = tbRecipientPhone.Text,
                RecipientPhoneTwo     = tbRecipientPhone2.Text,
                PassportNumber        = tbPassportNumber.Text,
                PassportSeria         = tbPassportSeria.Text,
                DeliveryCost          = cbIsDeliveryCost.Checked ? Convert.ToDecimal(tbDeliveryCostValue) : 0,
                CityID                = Convert.ToInt32(hfCityID.Value),
                SenderCityID          = Convert.ToInt32(hfSenderCityID.Value),
                SenderStreetName      = tbSenderStreetName.Text,
                SenderStreetNumber    = tbSenderStreetNumber.Text,
                SenderStreetPrefix    = ddlSenderStreetPrefix.SelectedValue,
                SenderHousing         = tbSenderHousing.Text,
                SenderApartmentNumber = tbSenderApartmentNumber.Text,
                WithoutMoney          = withoutMoney,
                NoteChanged           = !string.IsNullOrEmpty(Page.Request.Params["id"]) ? 1 : 0
            };

            Delivery.DAL.DataBaseObjects.Tickets checkTicket = new Delivery.DAL.DataBaseObjects.Tickets();
            checkTicket.ID = ticket.ID;
            checkTicket.GetById();
            if (new UserCost().GetCostByUserID(checkTicket.UserID) == null || Convert.ToDecimal(tbGruzobozCostValue) == 0)
            {
                ticket.GruzobozCost = Convert.ToDecimal(tbGruzobozCostValue);
            }

            //метод на удаление (переход со старой системы заявок)
            if (!lblOldGoods.Visible)
            {
                ticket.AssessedCost = GetAssessedCost();
            }

            #endregion

            if (ddlUserTrack.Visible)
            {
                ticket.TrackIDUser = Convert.ToInt32(ddlUserTrack.SelectedValue);
            }

            #region Обнуление соглассованной стоимости и за доставку при соответствующих условиях
            if (cbAgreedCostIsNull.Checked)
            {
                ticket.AgreedCost = 0;
            }

            if (cbDeliveryCostIsNull.Checked)
            {
                ticket.DeliveryCost = 0;
            }
            #endregion

            #region Запись города
            ticket.CityID = Convert.ToInt32(hfCityID.Value);
            #endregion

            #region Проверки на валидность, фильтрация статуса и курьера
            if (lblAdmissionDate.Text == String.Empty)
            {
                AddGodsInPanel(Convert.ToInt32(hfHowManyControls.Value));
                lblError.Text = "Введите дату!";
                return;
            }

            if (String.IsNullOrEmpty(hfCityID.Value))
            {
                AddGodsInPanel(Convert.ToInt32(hfHowManyControls.Value));
                lblError.Text = "Выберите населенный пункт!";
                return;
            }

            var errorText = TicketsFilter.OverChangeFilter(ref ticket, hfDriverID.Value, hfStatusID.Value, hfStatusDescription.Value, hfAdmissionDate.Value, tbStatusDescription.Text, ddlStatus.SelectedValue, tbDeliveryDate.Text, ddlDrivers.SelectedValue, hfStatusIDOld.Value, currentRole);
            if (errorText != null)
            {
                AddGodsInPanel(Convert.ToInt32(hfHowManyControls.Value));
                lblError.Text = errorText;
                return;
            }
            #endregion

            if (hfWharehouse.Value != "")
            {
                int whVal = 0;
                if (Int32.TryParse(hfWharehouse.Value, out whVal))
                {
                    ticket.WharehouseId = whVal;
                }
            }

            ticket.Update(user.ID, OtherMethods.GetIPAddress(), "UserTicketEdit");
            GoodsCount = GoodsHelper.GoodsCount(hfFullSecureID.Value);
            UpdateGoods(GoodsCount, user.ID);

            FinalyRedirect();
        }
        public BillsTicketCounter(int batch, DeclarationFilterBy filterBy, string filterValue, string SiteCode, int CurrentIndex)
        {
            InitializeComponent();
            LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Entry", LogManager.enumLogLevel.Info);
            LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Site Code : "+SiteCode, LogManager.enumLogLevel.Debug);
            try
            {
                _CurrentCollectionIndex = CurrentIndex;
                //CollectionHelper _collectionHelper = new CollectionHelper();
                this._filterBy = filterBy;
                this._filterValue = filterValue;
                this._batchNo = batch;
                this._SiteCode = SiteCode;
                _objCollectionHelper = new CollectionHelper();
                _objExchangeHelper = new ExchangeHelper();
                _objTicketsHelper = new TicketsHelper();
                btnExceptionTickets.Visibility = (Settings.HANDLE_EXCEPTIONTICKETS_COUNTER) ? Visibility.Visible : Visibility.Collapsed;
                RefreshData(_CurrentCollectionIndex);

                //this.txtAsset.Text = lstCollections[1].AssetNo;
                //this.txtPosition.Text = lstCollections[1].Position;
                //this.iCollectionNo = lstCollections[1].CollectionNo;
                //_CollectionNo = lstCollections[1].CollectionNo;
                //this.sPosition = lstCollections[1].Position;
                //this.txtGame.Text = "";

                MessageBox.childOwner = this;

                if (!String.IsNullOrEmpty(ManualCashEntry.sSiteCode))
                {
                    txtHeader.Text += "\t\t\t\t" + Application.Current.FindResource("ManualCashEntry_xaml_lblSiteCode").ToString().Trim() + " " + _SiteCode;
                }
                bool IsCounterEnabled = _objCollectionHelper.IsNoteCounterVisible();
                if (!IsCounterEnabled)
                {
                    btnApply.Visibility = Visibility.Hidden;
                    btnStart.Visibility = Visibility.Hidden;
                    btnClearAll.Visibility = Visibility.Hidden;
                }

            }
            catch (Exception Ex)
            {
                ExceptionManager.Publish(Ex);
            }
            LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Exit", LogManager.enumLogLevel.Info);

        }
Example #21
0
        //public ActionResult Edit([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketStatusId,TicketPriorityId,TicketTypeId,OwnerUserId,AssignedToUserId")] Ticket ticket)
        public async Task <ActionResult> Edit([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketStatusId,TicketPriorityId,TicketTypeId,OwnerUserId,AssignedToUserId")] Ticket ticket)
        {
            //retrieve original ticket from database, but do not cache it in this dbcontext. This will be the "oldTicket"
            var oldTicket = this.db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticket.Id);


            if (ModelState.IsValid)
            {
                //Sets ticket status according to whether it's been assigned or not.
                // rewrite to use switch statement
                if (ticket.AssignedToUserId != null && ticket.TicketStatusId == 2)
                {
                    ticket.TicketStatusId = 1;
                }
                if (ticket.AssignedToUserId == null && ticket.TicketStatusId == 1)
                {
                    ticket.TicketStatusId = 2;
                    if (User.IsInRole("Admin"))
                    {
                        ticket.AssignedToUserId = User.Identity.GetUserId();
                    }
                    else
                    {
                        ticket.AssignedToUserId = ticket.Project.PMID;
                    }
                }

                if (ticket.AssignedToUserId == null && ticket.TicketStatusId == 3)
                {
                    //ticket.AssignedToUserId = User.Identity.GetUserId();
                    ticket.AssignedToUserId = ticket.Project.PMID;
                    //this.db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticket.Id);
                }
                if (ticket.AssignedToUserId != null && ticket.OwnerUserId != null)
                {
                    //Use ProjectsHelper to
                    //add developer to project once they are assigned to a ticket
                    ProjectsHelper phelper = new ProjectsHelper();
                    phelper.AddUserToProject(ticket.AssignedToUserId, ticket.ProjectId);
                    phelper.AddUserToProject(ticket.OwnerUserId, ticket.ProjectId);
                }
                if (ticket.OwnerUserId == null)
                {
                    ticket.OwnerUserId = User.Identity.GetUserId();
                }

                ticket.Updated = DateTimeOffset.Now;



                db.Entry(ticket).State = EntityState.Modified;
                db.SaveChanges();


                //ticketshelper to create the ticket history
                if (TicketsHelper.HasTicketChanged(oldTicket, ticket))
                {
                    TicketsHelper.AddTicketHistory(oldTicket, ticket);
                }

                //Send the relevant data to create notifications
                await this.tixHelper.GenerateNotifications(oldTicket, ticket);

                //return to ticket details so user can see updated changes.
                return(RedirectToAction("Details", "Tickets", new { id = ticket.Id }));
            }
            ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "FirstName", ticket.AssignedToUserId);
            ViewBag.OwnerUserId      = new SelectList(db.Users, "Id", "FirstName", ticket.OwnerUserId);
            ViewBag.ProjectId        = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId);
            ViewBag.TicketPriorityId = new SelectList(db.TicketPrioritys, "Id", "Name", ticket.TicketPriorityId);
            ViewBag.TicketStatusId   = new SelectList(db.TicketStatus, "Id", "Name", ticket.TicketStatusId);
            ViewBag.TicketTypeId     = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
            return(View(ticket));
        }
        private void button_Click(object sender, RoutedEventArgs e)
        {
            try
            {

                int InstallationNumber = 0;
                int ValidationLength = 0;
                string _Barcode = this.ucValueCalc.txtDisplay.Text.Trim();
                System.Windows.Forms.DialogResult _diagResult;
                btnVerify.IsEnabled = false;
                if (isScannerFired) //check done not to fire the verify event twice while verifying a ticket using scanner
                {
                    isScannerFired = false;
                    return;
                }
                if ((sender is System.Windows.Controls.TextBox))
                    isScannerFired = true;
                else
                    isScannerFired = false;


                if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0)
                {
                    //8-digit ticket validation.
                    //Slot ticket cannot be redeemed via cashdesk.
                    if (this.ucValueCalc.txtDisplay.Text.Trim().Length != 18)
                    {
                        LinqDataAccessDataContext linqDBExchange = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                        IEnumerable<InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(_Barcode);
                        if (InstallationTicket != null)
                        {
                            foreach (var item in InstallationTicket)
                            {
                                InstallationNumber = item.installation_no.Value;
                                _Barcode = item.strbarcode;

                            }
                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, InstallationNumber, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                                int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                                if (ValidationLength != _Barcode.Length)
                                {
                                    MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                                    return;
                                }
                            }                          
                        }
                    }

                    TicketsHelper objTicketsHelper = new TicketsHelper();

                    int? nResult = -1;
                    decimal dAmount = 0;
                    int iTransactionNo = 0;
                    int iSequenceNo = 0;

                    //foreach (var obj in objTicketsHelper.ValidateVoidVoucher(this.ucValueCalc.txtDisplay.Text.Trim(), ref nResult))
                    //{
                    //    dAmount = Convert.ToDecimal(obj.iAmount)/100;                        
                    //}
                    dAmount = objTicketsHelper.ValidateVoidVoucher(_Barcode, Security.SecurityHelper.CurrentUser.User_No, ref nResult);

                    switch (nResult)
                    {
                        case 0:
                            {
                                if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY))
                                {
                                    //Message: Are you sure you want to Void the Voucher?
                                    _diagResult = MessageBox.ShowBox("MessageID512", BMC_Icon.Question, BMC_Button.YesNo, this.ucValueCalc.txtDisplay.Text.Trim(), Convert.ToString(dAmount));
                                    if (_diagResult == System.Windows.Forms.DialogResult.No)
                                        return;
                                }
                                else
                                {
                                    _diagResult = System.Windows.Forms.DialogResult.Yes;
                                }
                                if (_diagResult == System.Windows.Forms.DialogResult.Yes)
                                {

                                    string barcode = this.ucValueCalc.txtDisplay.Text.Trim();

                                    foreach (var obj in objTicketsHelper.UpdateVoidVoucher(barcode,
                                                           System.Environment.MachineName,
                                                           Security.SecurityHelper.CurrentUser.User_No,
                                                           txtNotes.Text))
                                    {
                                        iTransactionNo = (int)obj.iTransactionNo;
                                        iSequenceNo = obj.TE_ID;
                                    }

                                    // TIS Printed Tickets
                                    if (VoucherHelper.IsTISPrintedTicket(barcode))
                                    {
                                        VoucherHelper.SendTISVoidTicket(barcode, Security.SecurityHelper.CurrentUser.User_No);
                                    }

                                    //Message: "Voucher Voided Successfully."
                                    MessageBox.ShowBox("MessageID513", BMC_Icon.Information);
                                    //Receipt                                
                                    BMC.Business.CashDeskOperator.Reports objReports = new BMC.Business.CashDeskOperator.Reports();
                                    string sCode = BMC.Transport.Settings.SiteCode;
                                    using (CReportViewer objReportViewer = new CReportViewer())
                                    {
                                        objReportViewer.PrintVoidVoucherReceipt(System.Environment.MachineName, this.ucValueCalc.txtDisplay.Text.Trim(),
                                                                                dAmount, iTransactionNo, sCode, iSequenceNo);
                                        //objReportViewer.ShowDialog();
                                    }

                                    Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Voided Successfully");
                                    lblVoidAmountValue.Visibility = Visibility.Visible;
                                    lblVoidAmount.Visibility = Visibility.Visible;
                                    lblVoidAmountValue.Text = string.Empty;
                                    lblVoidAmountValue.Text = dAmount.ToString("0.00");


                                }
                                break;
                            }


                        case 1:
                            {
                                //Voucher Not Found
                                //Message: "Voucher is not available in System"
                                MessageBox.ShowBox("MessageID514", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Not Found");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }
                        case 2:
                            {
                                // Invalid for Slots, only CashDesk is allowed.
                                //Message: "Void is applicable only for Cash Desk Vouchers"
                                MessageBox.ShowBox("MessageID515", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Void is applicable only for Cash Desk Vouchers");
                                //Audit
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                break;
                            }
                        case 3:
                            {
                                //PAID Status
                                // Message: "Voucher has already been redeemed."
                                MessageBox.ShowBox("MessageID516", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been redeemed");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }
                        case 4:
                            {
                                //Already Voided
                                // Message: "Voucher has already been Voided."
                                MessageBox.ShowBox("MessageID517", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been Voided");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }
                        case 5:
                            {
                                //Expired Date
                                // Message: "Voucher has expired."
                                MessageBox.ShowBox("MessageID518", BMC_Icon.Error);
                                Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has expired");
                                lblVoidAmount.Visibility = Visibility.Hidden;
                                lblVoidAmountValue.Visibility = Visibility.Hidden;
                                //Audit
                                break;
                            }

                    }


                }
                else
                {
                    //Message: "Please enter or scan a valid Voucher Number
                    MessageBox.ShowBox("MessageID519", BMC_Icon.Warning);
                    this.ucValueCalc.txtDisplay.Focus();
                }

                ClearAll();

            }
            catch (Exception ex)
            {
                MessageBox.ShowBox("MessageID520", BMC_Icon.Error);
                BMC.Common.ExceptionManagement.ExceptionManager.Publish(ex);
                ClearAll();
            }
            finally
            {
                btnVerify.IsEnabled = true;
            }
        }
        public void GetTicketStatus(string ticketid)
        {
            if (ApiMethods.IsApiAuthRequest())
            {
                var sevicePhone = BackendHelper.TagToValue("status_check_phones");
                var ticket      = new Tickets {
                    SecureID = ticketid.ToLower().Trim()
                };
                ticket.GetBySecureId();
                string text;
                if (ticket.ID == 0)
                {
                    text = "Заказ с заданным ID не найден. <br/>" +
                           "По вопросам статуса заказа вы можете обратиться по телефону " + sevicePhone;
                    Context.Response.Write(text);
                }
                else
                {
                    var ticketStatusText = TicketsHelper.TicketStatusIdToSimpleRusTextMale(ticket.StatusID.ToString());
                    switch (ticket.StatusID)
                    {
                    case 1:
                        text = "Ваша заказ пока не зарегистрирован у нас. Проверьте статус заказа позже. <br/>" +
                               "По вопросам статуса заказа вы можете обратиться по телефону " + sevicePhone;
                        break;

                    case 2:     // на складе
                    case 19:    // к загрузке
                        text = String.Format("Ваша заказ находится в статусе <b>\"{0}\"</b>. " +
                                             "Для уточнения информации обращайтесь по номеру {1}.", ticketStatusText, sevicePhone);
                        break;

                    case 3:
                        if (ticket.OvDateFrom != null && ticket.OvDateTo != null)
                        {
                            text = String.Format("Ваша заказ погружен и находится в пути. <br/>" +
                                                 "Ориентировочная дата доставки: <b>{0}</b><br/>" +
                                                 "Ориентировочное время доставки: <b>с {1} по {2}</b>" +
                                                 "Для уточнения информации обращайтесь по телефону {3}.",
                                                 Convert.ToDateTime(ticket.DeliveryDate).ToString("dd.MM.yyyy"),
                                                 Convert.ToDateTime(ticket.OvDateFrom).ToString("HH:mm"),
                                                 Convert.ToDateTime(ticket.OvDateTo).ToString("HH:mm"), sevicePhone);
                        }
                        else
                        {
                            text = String.Format("Ваша заказ погружен и находится в пути. <br/>" +
                                                 "Ориентировочная дата доставки: <b>{0}</b><br/>" +
                                                 "Для уточнения времени доставки обращайтесь по телефону {1}.",
                                                 Convert.ToDateTime(ticket.DeliveryDate).ToString("dd.MM.yyyy"), sevicePhone);
                        }
                        break;

                    default:
                        text = "Заказ с заданным ID не найден. <br/>" +
                               "По вопросам статуса заказа вы можете обратиться по телефону " + sevicePhone;
                        break;
                    }
                    Context.Response.Write(text);
                }

                ApiMethods.LoggingRequest("GetTicketStatus",
                                          "TicketStatusAPI",
                                          "PublicAPI",
                                          ticketid,
                                          text.Length,
                                          Convert.ToInt32(HttpContext.Current.Request.Params["userid"]),
                                          HttpContext.Current.Request.Params["apikey"]);
            }
            else
            {
                ApiMethods.ReturnNotAuth();
            }
        }
        public BillsTicketCounter(int batch, DeclarationFilterBy filterBy, string filterValue, string SiteCode, string ExchangeConn, string TicketingConn, int CollectionIndex)
            : this(batch, filterBy, filterValue, SiteCode, CollectionIndex)
        {
            LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Entry", LogManager.enumLogLevel.Info);
            LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Site Code : " + SiteCode, LogManager.enumLogLevel.Debug);
            ExchangeConnectionString = ExchangeConn;
            TicketingConnectionString = TicketingConn;
            _objCollectionHelper = new CollectionHelper(ExchangeConn);
            _objExchangeHelper = new ExchangeHelper(ExchangeConn);
            _objTicketsHelper = new TicketsHelper(TicketingConn);
            _CurrentCollectionIndex = CollectionIndex;
            RefreshData(_CurrentCollectionIndex);
            LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Exit", LogManager.enumLogLevel.Info);


        }
Example #25
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int    InstallationNumber = 0;
                int    ValidationLength   = 0;
                string _Barcode           = this.ucValueCalc.txtDisplay.Text.Trim();
                System.Windows.Forms.DialogResult _diagResult;
                btnVerify.IsEnabled = false;
                if (isScannerFired) //check done not to fire the verify event twice while verifying a ticket using scanner
                {
                    isScannerFired = false;
                    return;
                }
                if ((sender is System.Windows.Controls.TextBox))
                {
                    isScannerFired = true;
                }
                else
                {
                    isScannerFired = false;
                }


                if (this.ucValueCalc.txtDisplay.Text.Trim().Length > 0)
                {
                    //8-digit ticket validation.
                    //Slot ticket cannot be redeemed via cashdesk.
                    if (this.ucValueCalc.txtDisplay.Text.Trim().Length != 18)
                    {
                        LinqDataAccessDataContext            linqDBExchange     = new LinqDataAccessDataContext(CommonDataAccess.ExchangeConnectionString);
                        IEnumerable <InstallationFromTicket> InstallationTicket = linqDBExchange.GetInstallationNumber(_Barcode);
                        if (InstallationTicket != null)
                        {
                            foreach (var item in InstallationTicket)
                            {
                                InstallationNumber = item.installation_no.Value;
                                _Barcode           = item.strbarcode;
                            }
                            DataTable InstallationDetails = (new CommonDataAccess()).GetInstallationDetails(0, InstallationNumber, false, false);
                            if (InstallationDetails.Rows.Count > 0)
                            {
                                int.TryParse(InstallationDetails.Rows[0]["Validation_length"].ToString(), out ValidationLength);
                                if (ValidationLength != _Barcode.Length)
                                {
                                    MessageBox.ShowBox("MessageID403", BMC_Icon.Error);
                                    return;
                                }
                            }
                        }
                    }

                    TicketsHelper objTicketsHelper = new TicketsHelper();

                    int?    nResult        = -1;
                    decimal dAmount        = 0;
                    int     iTransactionNo = 0;
                    int     iSequenceNo    = 0;

                    //foreach (var obj in objTicketsHelper.ValidateVoidVoucher(this.ucValueCalc.txtDisplay.Text.Trim(), ref nResult))
                    //{
                    //    dAmount = Convert.ToDecimal(obj.iAmount)/100;
                    //}
                    dAmount = objTicketsHelper.ValidateVoidVoucher(_Barcode, Security.SecurityHelper.CurrentUser.User_No, ref nResult);

                    switch (nResult)
                    {
                    case 0:
                    {
                        if (Convert.ToBoolean(AppSettings.REDEEM_TICKET_POP_UP_ALERT_VISIBILITY))
                        {
                            //Message: Are you sure you want to Void the Voucher?
                            _diagResult = MessageBox.ShowBox("MessageID512", BMC_Icon.Question, BMC_Button.YesNo, this.ucValueCalc.txtDisplay.Text.Trim(), Convert.ToString(dAmount));
                            if (_diagResult == System.Windows.Forms.DialogResult.No)
                            {
                                return;
                            }
                        }
                        else
                        {
                            _diagResult = System.Windows.Forms.DialogResult.Yes;
                        }
                        if (_diagResult == System.Windows.Forms.DialogResult.Yes)
                        {
                            string barcode = this.ucValueCalc.txtDisplay.Text.Trim();

                            foreach (var obj in objTicketsHelper.UpdateVoidVoucher(barcode,
                                                                                   System.Environment.MachineName,
                                                                                   Security.SecurityHelper.CurrentUser.User_No,
                                                                                   txtNotes.Text))
                            {
                                iTransactionNo = (int)obj.iTransactionNo;
                                iSequenceNo    = obj.TE_ID;
                            }

                            // TIS Printed Tickets
                            if (VoucherHelper.IsTISPrintedTicket(barcode))
                            {
                                VoucherHelper.SendTISVoidTicket(barcode, Security.SecurityHelper.CurrentUser.User_No);
                            }

                            //Message: "Voucher Voided Successfully."
                            MessageBox.ShowBox("MessageID513", BMC_Icon.Information);
                            //Receipt
                            BMC.Business.CashDeskOperator.Reports objReports = new BMC.Business.CashDeskOperator.Reports();
                            string sCode = BMC.Transport.Settings.SiteCode;
                            using (CReportViewer objReportViewer = new CReportViewer())
                            {
                                objReportViewer.PrintVoidVoucherReceipt(System.Environment.MachineName, this.ucValueCalc.txtDisplay.Text.Trim(),
                                                                        dAmount, iTransactionNo, sCode, iSequenceNo);
                                //objReportViewer.ShowDialog();
                            }

                            Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Voided Successfully");
                            lblVoidAmountValue.Visibility = Visibility.Visible;
                            lblVoidAmount.Visibility      = Visibility.Visible;
                            lblVoidAmountValue.Text       = string.Empty;
                            lblVoidAmountValue.Text       = dAmount.ToString("0.00");
                        }
                        break;
                    }


                    case 1:
                    {
                        //Voucher Not Found
                        //Message: "Voucher is not available in System"
                        MessageBox.ShowBox("MessageID514", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher Not Found");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }

                    case 2:
                    {
                        // Invalid for Slots, only CashDesk is allowed.
                        //Message: "Void is applicable only for Cash Desk Vouchers"
                        MessageBox.ShowBox("MessageID515", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Void is applicable only for Cash Desk Vouchers");
                        //Audit
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        break;
                    }

                    case 3:
                    {
                        //PAID Status
                        // Message: "Voucher has already been redeemed."
                        MessageBox.ShowBox("MessageID516", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been redeemed");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }

                    case 4:
                    {
                        //Already Voided
                        // Message: "Voucher has already been Voided."
                        MessageBox.ShowBox("MessageID517", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has already been Voided");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }

                    case 5:
                    {
                        //Expired Date
                        // Message: "Voucher has expired."
                        MessageBox.ShowBox("MessageID518", BMC_Icon.Error);
                        Audit(this.ucValueCalc.txtDisplay.Text.Trim(), dAmount, "Voucher has expired");
                        lblVoidAmount.Visibility      = Visibility.Hidden;
                        lblVoidAmountValue.Visibility = Visibility.Hidden;
                        //Audit
                        break;
                    }
                    }
                }
                else
                {
                    //Message: "Please enter or scan a valid Voucher Number
                    MessageBox.ShowBox("MessageID519", BMC_Icon.Warning);
                    this.ucValueCalc.txtDisplay.Focus();
                }

                ClearAll();
            }
            catch (Exception ex)
            {
                MessageBox.ShowBox("MessageID520", BMC_Icon.Error);
                BMC.Common.ExceptionManagement.ExceptionManager.Publish(ex);
                ClearAll();
            }
            finally
            {
                btnVerify.IsEnabled = true;
            }
        }
 public BillsTicketCounter(string ExchangeConn, string TicketingConn)
     : this()
 {
     LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Entry", LogManager.enumLogLevel.Info);
     LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Site Code : " + ManualCashEntry.sSiteCode, LogManager.enumLogLevel.Debug);
     ExchangeConnectionString = ExchangeConn;
     TicketingConnectionString = TicketingConn;
     _objCollectionHelper = new CollectionHelper(ExchangeConn);
     _objExchangeHelper = new ExchangeHelper(ExchangeConn);
     _objTicketsHelper = new TicketsHelper(TicketingConn);
     LogManager.WriteLog("BillsTicketCounter:BillsTicketCounter() Exit", LogManager.enumLogLevel.Info);
 }