public override bool Modify(Location entityToModify)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.Locations.Any(l => l.LocationID.Equals(entityToModify.LocationID)))
                {
                    try
                    {
                        Location foundLocation = db.Locations.SingleOrDefault(l => l.LocationID.Equals(entityToModify.LocationID));
                        db.Locations.Attach(foundLocation);

                        //foundLocation.XCoordinate = entityToModify.XCoordinate;
                        //foundLocation.YCoordinate = entityToModify.YCoordinate;
                        foundLocation.StreetName   = entityToModify.StreetName;
                        foundLocation.StreetNumber = entityToModify.StreetNumber;
                        foundLocation.City         = entityToModify.City;
                        foundLocation.ZipCode      = entityToModify.ZipCode;

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
        public override bool Delete(string entityToDeleteID)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.TaxiDrives.Any(td => td.TaxiDriveID.Equals(entityToDeleteID)))
                {
                    try
                    {
                        TaxiDrive entityToDelete = db.TaxiDrives.FirstOrDefault(td => td.TaxiDriveID.Equals(entityToDeleteID));
                        db.TaxiDrives.Remove(entityToDelete);

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
Beispiel #3
0
        public override bool Delete(string entityToDeleteID)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.Customers.Any(c => c.Username.Equals(entityToDeleteID)))
                {
                    try
                    {
                        Customer entityToDelete = db.Customers.FirstOrDefault(c => c.Username.Equals(entityToDeleteID));
                        db.Customers.Remove(entityToDelete);

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
Beispiel #4
0
        public override bool Modify(Vehicle entityToModify)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.Vehicles.Any(v => v.VehicleID.Equals(entityToModify.VehicleID)))
                {
                    try
                    {
                        Vehicle foundVehicle = db.Vehicles.Include(v => v.VehicleDriver)
                                               .SingleOrDefault(v => v.VehicleID.Equals(entityToModify.VehicleID));
                        db.Vehicles.Attach(foundVehicle);

                        foundVehicle.LicencePlateNo = entityToModify.LicencePlateNo;
                        foundVehicle.ProductionYear = entityToModify.ProductionYear;
                        foundVehicle.VehicleType    = entityToModify.VehicleType;

                        foundVehicle.VehicleDriver = entityToModify.VehicleDriver; //NEW

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
        public override bool Modify(Driver entityToModify)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.Drivers.Any(d => d.Username.Equals(entityToModify.Username)))
                {
                    try
                    {
                        Driver foundDriver = db.Drivers.Include(d => d.TaxiDrives)
                                             .Include(d => d.DriversLocation)
                                             .Include(d => d.DriversVehicle)
                                             .SingleOrDefault(d => d.Username.Equals(entityToModify.Username));
                        db.Drivers.Attach(foundDriver);

                        foundDriver.FirstName = entityToModify.FirstName;
                        foundDriver.LastName  = entityToModify.LastName;
                        foundDriver.Password  = entityToModify.Password;
                        foundDriver.Gender    = entityToModify.Gender;
                        foundDriver.JMBG      = entityToModify.JMBG;
                        foundDriver.Phone     = entityToModify.Phone;
                        foundDriver.Email     = entityToModify.Email;

                        //dodaj nove: sa new?
                        entityToModify.TaxiDrives.Where(td => !foundDriver.TaxiDrives.Contains(td)).ToList().ForEach(td => foundDriver.TaxiDrives.Add(td));
                        //izbaci one kojih vise nema
                        foundDriver.TaxiDrives.Where(td => !entityToModify.TaxiDrives.Contains(td)).ToList().ForEach(td => foundDriver.TaxiDrives.Remove(td));

                        foundDriver.DriversLocation = entityToModify.DriversLocation; //new?
                        foundDriver.DriversVehicle  = entityToModify.DriversVehicle;  //new?

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
        public override bool Modify(TaxiDrive entityToModify)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.TaxiDrives.Any(td => td.TaxiDriveID.Equals(entityToModify.TaxiDriveID)))
                {
                    try
                    {
                        TaxiDrive foundTaxiDrive = db.TaxiDrives.Include(td => td.TaxiDriveDriver)
                                                   .Include(td => td.TaxiDriveCustomer)
                                                   .Include(td => td.TaxiDriveDispatcher)
                                                   .Include(td => td.TaxiDriveComment)
                                                   .Include(td => td.TaxiDriveStartingLocation)
                                                   .Include(td => td.TaxiDriveDestination)
                                                   .SingleOrDefault(td => td.TaxiDriveID.Equals(entityToModify.TaxiDriveID));
                        db.TaxiDrives.Attach(foundTaxiDrive);

                        foundTaxiDrive.VehicleType               = entityToModify.VehicleType;
                        foundTaxiDrive.DriveStatus               = entityToModify.DriveStatus;
                        foundTaxiDrive.Amount                    = entityToModify.Amount;
                        foundTaxiDrive.TaxiDriveDriver           = entityToModify.TaxiDriveDriver;
                        foundTaxiDrive.TaxiDriveCustomer         = entityToModify.TaxiDriveCustomer;
                        foundTaxiDrive.TaxiDriveDispatcher       = entityToModify.TaxiDriveDispatcher;
                        foundTaxiDrive.TaxiDriveComment          = entityToModify.TaxiDriveComment;
                        foundTaxiDrive.TaxiDriveStartingLocation = entityToModify.TaxiDriveStartingLocation;
                        foundTaxiDrive.TaxiDriveDestination      = entityToModify.TaxiDriveDestination;

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
        public override bool Modify(Admin entityToModify)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.Admins.Any(a => a.Username.Equals(entityToModify.Username)))
                {
                    try
                    {
                        Admin foundAdmin = db.Admins.Include(a => a.TaxiDrives).SingleOrDefault(a => a.Username.Equals(entityToModify.Username));
                        db.Admins.Attach(foundAdmin);

                        foundAdmin.FirstName = entityToModify.FirstName;
                        foundAdmin.LastName  = entityToModify.LastName;
                        foundAdmin.Password  = entityToModify.Password;
                        foundAdmin.Gender    = entityToModify.Gender;
                        foundAdmin.JMBG      = entityToModify.JMBG;
                        foundAdmin.Phone     = entityToModify.Phone;
                        foundAdmin.Email     = entityToModify.Email;

                        //dodaj nove
                        entityToModify.TaxiDrives.Where(td => !foundAdmin.TaxiDrives.Contains(td)).ToList().ForEach(td => foundAdmin.TaxiDrives.Add(td));

                        //izbaci one kojih vise nema
                        foundAdmin.TaxiDrives.Where(td => !entityToModify.TaxiDrives.Contains(td)).ToList().ForEach(td => foundAdmin.TaxiDrives.Remove(td));

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
Beispiel #8
0
        void DeleteBizObject()
        {
            Models.Service ServiceToRemove = db.Services.Find(int.Parse(gridServices.CurrentRow.Cells["Id"].Value.ToString()));
            DialogResult   dr = MessageBoxRTL.Ask("آیا از حذف سرویس اطمینان دارید؟", string.Empty);

            if (dr == DialogResult.OK)
            {
                try
                {
                    ServiceToRemove.IsDeleted = true;
                    db.SaveChanges();
                    MessageBoxRTL.Info(".سرویس با موفقیت حذف شد", string.Empty);
                    ClearForm();
                    UpdateGrid();
                    BizObject = null;
                }
                catch
                {
                    MessageBoxRTL.Error("حذف سرویس با خطا روبرو شد", string.Empty);
                }
            }
        }
        public override bool Add(TaxiDrive entityToAdd)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (!db.TaxiDrives.Any(td => td.TaxiDriveID.Equals(entityToAdd.TaxiDriveID)))
                {
                    try
                    {
                        db.TaxiDrives.Add(entityToAdd);
                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
Beispiel #10
0
        public override bool Add(Customer entityToAdd)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (!db.Customers.Any(c => c.Username.Equals(entityToAdd.Username)))
                {
                    try
                    {
                        db.Customers.Add(entityToAdd);
                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
        public override bool Modify(Comment entityToModify)
        {
            bool result = false;

            using (TaxiDbContext db = new TaxiDbContext())
            {
                if (db.Comments.Any(c => c.CommentID.Equals(entityToModify.CommentID)))
                {
                    try
                    {
                        Comment foundComment = db.Comments.Include(c => c.CommentOwnerAdmin)
                                               .Include(c => c.CommentOwnerDriver)
                                               .Include(c => c.CommentOwnerCustomer)
                                               .Include(c => c.CommentedTaxiDrive)
                                               .SingleOrDefault(c => c.CommentID.Equals(entityToModify.CommentID));
                        db.Comments.Attach(foundComment);

                        foundComment.Description          = entityToModify.Description;
                        foundComment.TaxiDriveRate        = entityToModify.TaxiDriveRate;
                        foundComment.CommentOwnerAdmin    = entityToModify.CommentOwnerAdmin;    //NEW
                        foundComment.CommentOwnerDriver   = entityToModify.CommentOwnerDriver;   //NEW
                        foundComment.CommentOwnerCustomer = entityToModify.CommentOwnerCustomer; //NEW
                        foundComment.CommentedTaxiDrive   = entityToModify.CommentedTaxiDrive;   //NEW

                        db.SaveChanges();
                        result = true;
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }

            return(result);
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (BizObject != null)
            {
                try
                {
                    if (ServiceToEdit != null && ServiceToEdit.Id != 0)
                    {
                        //BizObject = (Models.Driver)DriverToEdit.Clone();
                        //BizObject = (Models.Service)ServiceToEdit.Clone();

                        //Models.Service Service = (Models.Service)db.Services
                        //    .Single(d => d.Id == BizObject.Id);

                        using (TaxiDbContext taxiDb = new TaxiDbContext())
                        {
                            Models.Service service = taxiDb.Services.Find(ServiceToEdit.Id);
                            service.DriverId = taxiDb.Users.OfType <Models.Driver>()
                                               .SingleOrDefault(d => d.FullName == comboboxDrivers.Text).Id;

                            var NewPath = taxiDb.Paths.SingleOrDefault(p => p.OriginDestination == comboboxPaths.Text);
                            service.ServicePaths.First().PathId = NewPath.Id;

                            service.Transaction.Amount = NewPath.Cost;
                            service.Transaction.IsPaid = checkboxIsPaid.Checked;

                            if (taxiDb.Users.OfType <Models.Customer>().Any(c => c.FullName == txtCustomerName.Text))
                            {
                                service.CustomerId =
                                    taxiDb.Users.OfType <Models.Customer>().Single(c => c.FullName == txtCustomerName.Text).Id;
                            }
                            else
                            {
                                service.Customer = new Models.Customer()
                                {
                                    Role     = Models.Roles.Customer,
                                    FullName = txtCustomerName.Text,
                                    Mobile   = txtCustomerPhone.Text,
                                    Address  = "ثبت نشده"
                                };
                            }


                            taxiDb.SaveChanges();
                        }

                        db = new TaxiDbContext();

                        BizObject = null;
                        MessageBoxRTL.Info(".سرویس با موفقیت ویرایش شد", string.Empty);
                        ClearForm();
                    }
                    else if (BizObject.Id == 0)
                    {
                        using (TaxiDbContext taxiDb = new TaxiDbContext())
                        {
                            if (string.IsNullOrEmpty(txtCustomerName.Text))
                            {
                                MessageBoxRTL.Error("نام مشتری ضروری است.", string.Empty);
                                txtCustomerName.Focus();
                                return;
                            }
                            if (string.IsNullOrEmpty(txtCustomerPhone.Text) &&
                                !txtCustomerPhone.Text.StartsWith("09") &&
                                txtCustomerPhone.Text.Length != 11)
                            {
                                MessageBoxRTL.Error("شماره همراه مشتری ضروری است. و با 09 آغاز می‌شود", string.Empty);
                                txtCustomerPhone.Focus();
                                return;
                            }
                            if (string.IsNullOrEmpty(comboboxDrivers.Text))
                            {
                                MessageBoxRTL.Error("نام راننده ضروری است.", string.Empty);
                                comboboxDrivers.Focus();
                                return;
                            }
                            if (string.IsNullOrEmpty(comboboxPaths.Text))
                            {
                                MessageBoxRTL.Error("مسیر ضروری است.", string.Empty);
                                comboboxPaths.Focus();
                                return;
                            }

                            //avoid adding a new customer with different name but exisiting phone -- TWO Customer With Same Phone
                            if (taxiDb.Users.OfType <Models.Customer>().Any(c => c.Mobile == txtCustomerPhone.Text && c.FullName != txtCustomerName.Text))
                            {
                                MessageBoxRTL.Error("شماره همراه مشتری قبلا ثبت شده است. لطفا شماره دیگری وارد نمایید", string.Empty);
                                txtCustomerPhone.Focus();
                                return;
                            }

                            BizObject.Customer = taxiDb.Users.OfType <Models.Customer>().SingleOrDefault(c => c.Mobile == txtCustomerPhone.Text);

                            if (BizObject.Customer == null)
                            {
                                BizObject.Customer = new Models.Customer()
                                {
                                    FullName = txtCustomerName.Text,
                                    Mobile   = txtCustomerPhone.Text,
                                    Address  = "ثبت نشده",
                                    Role     = Models.Roles.Customer
                                };
                            }

                            //driver
                            if (!comboboxDrivers.Items.Contains(comboboxDrivers.Text))
                            {
                                MessageBoxRTL.Error("راننده‌ای با این مشخصات وجود ندارد", string.Empty);
                                comboboxDrivers.Focus();
                                return;
                            }

                            BizObject.Driver = taxiDb.Users.OfType <Models.Driver>()
                                               .SingleOrDefault(d => d.FullName == comboboxDrivers.Text);

                            //path
                            if (!comboboxPaths.Items.Contains(comboboxPaths.Text))
                            {
                                MessageBoxRTL.Error("مسیری با این مشخصات وجود ندارد", string.Empty);
                                comboboxPaths.Focus();
                                return;
                            }

                            BizObject.ServicePaths = new List <Models.ServicePath>();
                            var NewPath = taxiDb.Paths
                                          .SingleOrDefault(p => p.OriginDestination == comboboxPaths.Text);
                            BizObject.ServicePaths.Add(new Models.ServicePath()
                            {
                                Path = NewPath
                            });

                            BizObject.Transaction.IsPaid = checkboxIsPaid.Checked;
                            BizObject.Transaction.Amount = NewPath.Cost;

                            BizObject.OriginInDetail      = txtOriginInDetail.Text;
                            BizObject.DestinationInDetail = txtDestinationInDetail.Text;

                            BizObject.DateTime = DateTime.Now;

                            int Delay = 0;
                            int.TryParse(txtDelay.Text, out Delay);
                            BizObject.Delay = Delay;

                            BizObject.IsActive  = true;
                            BizObject.IsDeleted = false;


                            taxiDb.Services.Add(BizObject);
                            taxiDb.SaveChanges();
                        }
                        db        = new TaxiDbContext();
                        BizObject = null;

                        MessageBoxRTL.Info(".سرویس با موفقیت افزوده شد", string.Empty);
                        ClearForm();
                    }
                }
                catch
                {
                    MessageBoxRTL.Error("ذخیره سازی سرویس با خطا روبرو شد.", string.Empty);
                }
            }
        }
        public void Registruj(object o)
        {
            IMobileServiceTable <KlaseZaAzure.Dispeceri>   userTableDispeceri   = App.MobileService.GetTable <KlaseZaAzure.Dispeceri>();
            IMobileServiceTable <KlaseZaAzure.Supervizori> userTableSupervizori = App.MobileService.GetTable <KlaseZaAzure.Supervizori>();
            IMobileServiceTable <KlaseZaAzure.Zaposlenik>  userTableZaposlenik  = App.MobileService.GetTable <KlaseZaAzure.Zaposlenik>();
            String errori = "";

            // ovdje se radi i validacija polja
            if (imeDS == null || imeDS == "")
            {
                errori += "Neispravno ime ";
            }
            if (prezimeDS == null || prezimeDS == "")
            {
                errori += "Neispravno prezime ";
            }
            if (datumDS == null || datumDS > DateTime.Now)
            {
                errori += "Neispravan datum ";
            }
            if (datumZDS == null || datumZDS > DateTime.Now)
            {
                errori += "Neispravan datum ";
            }
            if (brojTelefonaDS == null || brojTelefonaDS == "")
            {
                errori += "Neispravan broj telefona ";
            }
            if (!provjeriJeLiBroj(brojTelefonaDS))
            {
                errori += "Broj telefona iskljucivo treba da sadrzi samo cifre";
            }

            // treba provjeriti da li postoji ova registracija vozila vec u bazi

            var  baza       = new TaxiDbContext();
            bool postojiIme = false;

            if (false)
            {
                foreach (var zaposlenik in baza.zaposlenici)
                {
                    if (zaposlenik.KorisnickoIme == kime)
                    {
                        postojiIme = true;
                    }
                }
            }
            // i treba validirati email



            // TREBA PROCITATI SA AZURE I PROVJERITI DA LI POSTOJI OVO KORISNICKO IME


            // OVO JE ZA LOKALNU BAZU UNUTAR APP

            foreach (Zaposlenik z in podaci.zaposlenici)
            {
                if (!(z is Vozac))
                {
                    if (z.KorisnickoIme == kime)
                    {
                        postojiIme = true;
                    }
                }
            }


            if (postojiIme == true || errori != "")
            {
                if (postojiIme == true)
                {
                    errori += "Ovo korisnicko ime vec postoji";
                }
                IspisiErrore(errori);
            }
            else
            {
                Zaposlenik regm;
                if (supervizorDS)
                {
                    regm                 = new Supervizor();
                    regm.Ime             = imeDS;
                    regm.KorisnickoIme   = kime;
                    regm.Password        = ksifra;
                    regm.Prezime         = prezimeDS;
                    regm.DatumRodjenja   = datumDS;
                    regm.DatumZaposlenja = datumDS;
                    regm.BrojTelefona    = brojTelefonaDS;
                    baza.zaposlenici.Add(regm);
                    baza.SaveChanges();

                    try
                    {
                        KlaseZaAzure.Zaposlenik zaposlenik = new KlaseZaAzure.Zaposlenik();

                        zaposlenik.id              = regm.ZaposlenikId.ToString();
                        zaposlenik.KorisnickoIme   = kime;
                        zaposlenik.Prezime         = prezimeDS;
                        zaposlenik.Password        = ksifra;
                        zaposlenik.Ime             = imeDS;
                        zaposlenik.BrojTelefona    = brojTelefonaDS;
                        zaposlenik.DatumRodjenja   = datumDS;
                        zaposlenik.DatumZaposlenja = datumZDS;

                        userTableZaposlenik.InsertAsync(zaposlenik);

                        KlaseZaAzure.Supervizori supervizor = new KlaseZaAzure.Supervizori();

                        supervizor.id = regm.ZaposlenikId.ToString();

                        userTableSupervizori.InsertAsync(supervizor);

                        podaci.zaposlenici.Add(regm);
                    }
                    catch (Exception e)
                    {
                    }
                }
                else if (dispecerDS)
                {
                    regm                 = new ProjekatTaxiAgencijaMAN.Modeli.Dispecer();
                    regm.Ime             = imeDS;
                    regm.KorisnickoIme   = kime;
                    regm.Password        = ksifra;
                    regm.Prezime         = prezimeDS;
                    regm.DatumRodjenja   = datumDS;
                    regm.DatumZaposlenja = datumDS;
                    regm.BrojTelefona    = brojTelefonaDS;
                    baza.zaposlenici.Add(regm);
                    baza.SaveChanges();

                    try
                    {
                        KlaseZaAzure.Zaposlenik zaposlenik = new KlaseZaAzure.Zaposlenik();

                        zaposlenik.id              = regm.ZaposlenikId.ToString();
                        zaposlenik.KorisnickoIme   = kime;
                        zaposlenik.Prezime         = prezimeDS;
                        zaposlenik.Password        = ksifra;
                        zaposlenik.Ime             = imeDS;
                        zaposlenik.BrojTelefona    = brojTelefonaDS;
                        zaposlenik.DatumRodjenja   = datumDS;
                        zaposlenik.DatumZaposlenja = datumZDS;

                        userTableZaposlenik.InsertAsync(zaposlenik);

                        KlaseZaAzure.Dispeceri dispecer = new KlaseZaAzure.Dispeceri();

                        dispecer.id = regm.ZaposlenikId.ToString();

                        userTableDispeceri.InsertAsync(dispecer);

                        podaci.zaposlenici.Add(regm);
                    }
                    catch (Exception e)
                    {
                    }
                }

                kime           = "";
                ksifra         = "";
                ksifraponovo   = "";
                imeDS          = "";
                prezimeDS      = "";
                datumDS        = DateTime.Now;
                datumZDS       = DateTime.Now;
                brojTelefonaDS = "";

                Promjena("kime");
                Promjena("ksifra");
                Promjena("ksifraponovo");
                Promjena("imeDS");
                Promjena("prezimeDS");
                Promjena("datumDS");
                Promjena("datumZDS");
                Promjena("brojTelefonaDS");
            }
        }
        public static void ErrorLogDatabase(TaxiException error)
        {
            try
            {
                using (TaxiDbContext context = new TaxiDbContext())
                {
                    ErrorLog errorLog = new ErrorLog()
                    {
                        Severity = error.Severity.ToString(),
                        Location = error.Location,
                        Code     = error.Code,
                        Source   = error.Source,
                        Message  = error.Message
                    };
                    if (!string.IsNullOrEmpty(error.ErrorMessage))
                    {
                        errorLog.Message += Environment.NewLine + "Custom Message: " + error.ErrorMessage;
                    }

                    if (error.InnerException != null)
                    {
                        errorLog.Message += Environment.NewLine + "Inner Exception: ";

                        if (error.Message != error.InnerException.Message)
                        {
                            errorLog.Message += Environment.NewLine + error.InnerException.Message;
                        }

                        if (error.InnerException.InnerException != null)
                        {
                            errorLog.Message += Environment.NewLine + error.InnerException.InnerException.Message;

                            if (error.InnerException.InnerException.InnerException != null)
                            {
                                errorLog.Message += Environment.NewLine + error.InnerException.InnerException.InnerException.Message;
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(error.Parameters))
                    {
                        errorLog.Detail = "Parameters:" + Environment.NewLine + error.Parameters;
                    }

                    if (error.GetBaseException().GetType() == typeof(DbEntityValidationException))
                    {
                        errorLog.Detail += Environment.NewLine + "DBEntityValidationException:";

                        DbEntityValidationException     dbex    = (DbEntityValidationException)error.GetBaseException();
                        List <DbEntityValidationResult> errlist = dbex.EntityValidationErrors.ToList();
                        foreach (DbEntityValidationResult err in errlist)
                        {
                            foreach (DbValidationError er in err.ValidationErrors)
                            {
                                errorLog.Detail += Environment.NewLine + er.ErrorMessage;
                            }
                        }
                    }

                    if (HttpContext.Current != null)
                    {
                        try
                        {
                            if (UserContextHelper.Context != null)
                            {
                                errorLog.Detail += Environment.NewLine + "UserID:" + UserContextHelper.Context.UserID.ToString();
                                errorLog.UserID  = UserContextHelper.Context.UserID;
                            }
                        }
                        catch (Exception)
                        {
                            //should not be handled as context could throw exception if a method is invoked byjob
                        }
                        errorLog.Detail += Environment.NewLine + "Input Detail:";
                        errorLog.Detail += HttpContext.Current.Request.RequestType + "-" + HttpContext.Current.Request.RawUrl;
                        try
                        {
                            if (HttpContext.Current.Request.InputStream != null)
                            {
                                string data = new StreamReader(HttpContext.Current.Request.InputStream).ReadToEnd();
                                if (!string.IsNullOrEmpty(data))
                                {
                                    errorLog.Detail += Environment.NewLine + "Data:";
                                    errorLog.Detail += data;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            //In some cases the inputstream property is not readable so skipping that exception
                        }
                    }


                    errorLog.Detail += Environment.NewLine + "Stack trace:";
                    errorLog.Detail += error.StackTrace ?? string.Empty;

                    if (error.InnerException != null)
                    {
                        errorLog.Detail += error.InnerException.StackTrace ?? string.Empty;
                    }

                    errorLog.LoggedOn = DateTime.UtcNow;
                    errorLog.ISDTime  = DateTime.UtcNow.AddHours(5).AddMinutes(30);

                    if (errorLog != null)
                    {
                        context.ErrorLogs.Add(errorLog);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                error.ErrorMessage = "Log error in database failed - " + ex.Message + Environment.NewLine + error.ErrorMessage;
                ErrorLogText(error);
            }
        }
Beispiel #15
0
        public void registruj(object o)
        {
            IMobileServiceTable <KlaseZaAzure.RegistrovaneMusterije> userTableObj       = App.MobileService.GetTable <KlaseZaAzure.RegistrovaneMusterije>();
            IMobileServiceTable <KlaseZaAzure.Musterije>             userTableMusterije = App.MobileService.GetTable <KlaseZaAzure.Musterije>();
            String errori = "";

            // ovdje se radi i validacija polja
            if (ime == null || ime == "")
            {
                errori += "Neispravno ime ";
            }
            if (prezime == null || prezime == "")
            {
                errori += "Neispravno prezime ";
            }
            if (datum == null || datum > DateTime.Now)
            {
                errori += "Neispravan datum ";
            }
            if (brojtelefona == null || brojtelefona == "")
            {
                errori += "Neispravan broj telefona ";
            }
            if (kime == null || kime == "")
            {
                errori += "Neispravno korisnicko ime ";
            }
            if (ksifra == null || ksifra == "")
            {
                errori += "Neispravna sifra ";
            }
            if (ksifraponovo == null || ksifraponovo == "" || ksifraponovo != ksifra)
            {
                errori += "Neispravna ponovno unesena sifra ";
            }
            if (!provjeriJeLiBroj(brojtelefona))
            {
                errori += "Broj telefona iskljucivo treba da sadrzi samo cifre";
            }

            // treba provjeriti je li vec postoji uneseno korisnicko ime
            // i treba validirati email

            bool postojiIme = false;

            var baza = new TaxiDbContext();

            if (false)
            {
                foreach (var musterija in baza.musterije)
                {
                    //error
                    //if ((RegistrovanaMusterija)musterija.KorisnickoIme == kime) postojiIme = true;
                }
            }

            foreach (Musterija m in podaci.musterije)
            {
                if (m is RegistrovanaMusterija)
                {
                    RegistrovanaMusterija rm = (RegistrovanaMusterija)m;
                    if (rm.KorisnickoIme == kime)
                    {
                        postojiIme = true;
                    }
                }
            }

            if (postojiIme == true || errori != "")
            {
                // treba pozvati thread da ispise errore
                if (postojiIme == true)
                {
                    errori += "Ovo korisnicko ime vec postoji";
                }
                IspisiErrore(errori);
            }
            else
            {
                RegistrovanaMusterija regm = new RegistrovanaMusterija();
                regm.KorisnickoIme    = kime;
                regm.Password         = ksifra;
                regm.ImeKorisnika     = ime;
                regm.PrezimeKorisnika = prezime;
                regm.EmailAdresa      = email;
                regm.DatumRodjenja    = datum;
                regm.BrojTelefona     = brojtelefona;


                if (false)
                {
                    baza.musterije.Add(regm);
                    baza.SaveChanges();
                }

                try
                {
                    KlaseZaAzure.Musterije             musterija             = new KlaseZaAzure.Musterije();
                    KlaseZaAzure.RegistrovaneMusterije registrovanaMusterija = new KlaseZaAzure.RegistrovaneMusterije();

                    musterija.id = kime;
                    userTableMusterije.InsertAsync(musterija);

                    registrovanaMusterija.id            = kime;
                    registrovanaMusterija.Ime           = ime;
                    registrovanaMusterija.Prezime       = prezime;
                    registrovanaMusterija.KorisnickoIme = kime;
                    registrovanaMusterija.Sifra         = ksifra;
                    registrovanaMusterija.Email         = email;
                    registrovanaMusterija.BrojTelefona  = brojtelefona;
                    registrovanaMusterija.DatumRodjenja = datum;

                    userTableObj.InsertAsync(registrovanaMusterija);

                    var dialog = new MessageDialog("Uspjesna registracija!");
                    dialog.ShowAsync();

                    /*  musterija.id = regm.Id.ToString();
                     *
                     * userTableMusterije.InsertAsync(musterija);
                     *
                     * registrovanaMusterija.id = regm.Id.ToString();
                     * registrovanaMusterija.Ime = ime;
                     * registrovanaMusterija.Prezime = prezime;
                     * registrovanaMusterija.KorisnickoIme = kime;
                     * registrovanaMusterija.Sifra = ksifra;
                     * registrovanaMusterija.Email = email;
                     * registrovanaMusterija.BrojTelefona = brojtelefona;
                     * registrovanaMusterija.DatumRodjenja = datum;
                     *
                     * userTableObj.InsertAsync(registrovanaMusterija);
                     */
                    podaci.musterije.Add(regm);
                }
                catch (Exception e)
                {
                }
                kime         = "";
                ksifra       = "";
                ksifraponovo = "";
                ime          = "";
                prezime      = "";
                email        = "";
                datum        = DateTime.Now;
                brojtelefona = "";

                Promjena("kime");
                Promjena("ksifra");
                Promjena("ksifraponovo");
                Promjena("ime");
                Promjena("prezime");
                Promjena("email");
                Promjena("datum");
                Promjena("brojtelefona");
            }
        }
Beispiel #16
0
        public void registruj(object o)
        {
            IMobileServiceTable <KlaseZaAzure.Kompanije> userTableObj = App.MobileService.GetTable <KlaseZaAzure.Kompanije>();
            String errori = "";

            // ovdje se radi i validacija polja
            if (imeKompanije == null || imeKompanije == "")
            {
                errori += "Neispravno ime ";
            }
            if (datumKompanije == null || datumKompanije > DateTime.Now)
            {
                errori += "Neispravan datum ";
            }
            if (brojTelefonaKompanije == null || brojTelefonaKompanije == "")
            {
                errori += "Neispravan broj telefona ";
            }
            if (kime == null || kime == "")
            {
                errori += "Neispravno korisnicko ime ";
            }
            if (ksifra == null || ksifra == "")
            {
                errori += "Neispravna sifra ";
            }
            if (ksifraponovo == null || ksifraponovo == "" || ksifraponovo != ksifra)
            {
                errori += "Neispravna ponovno unesena sifra ";
            }
            if (!provjeriJeLiBroj(brojTelefonaKompanije))
            {
                errori += "Broj telefona iskljucivo treba da sadrzi samo cifre";
            }

            // treba provjeriti je li vec postoji uneseno korisnicko ime
            // i treba validirati email
            bool postojiIme = false;

            var baza = new TaxiDbContext();

            if (false)
            {
                foreach (var kompanija in baza.kompanije)
                {
                    if (kompanija.KorisnickoIme == kime)
                    {
                        postojiIme = true;
                    }
                }
            }

            // PROVJERI ZA AZURE DA LI POSTOJI KOMPANIJA SA OVIM KORISNICKIM IMENOM

            foreach (Kompanija k in podaci.kompanije)
            {
                if (k.KorisnickoIme == kime)
                {
                    postojiIme = true;
                }
            }

            if (postojiIme == true || errori != "")
            {
                // treba pozvati thread da ispise errore
                if (postojiIme == true)
                {
                    errori += "Ovo korisnicko ime vec postoji";
                }
                IspisiErrore(errori);
            }
            else
            {
                Kompanija regm = new Kompanija();
                regm.KorisnickoIme  = kime;
                regm.Sifra          = ksifra;
                regm.NazivKompanije = imeKompanije;
                regm.EmailKompanije = emailKompanije;
                regm.DatumOsnivanja = datumKompanije;
                regm.BrojTelefona   = Convert.ToInt32(brojTelefonaKompanije);

                baza.kompanije.Add(regm);
                baza.SaveChanges();

                podaci.kompanije.Add(regm);
                try
                {
                    KlaseZaAzure.Kompanije kompanija = new KlaseZaAzure.Kompanije();

                    /*
                     * kompanija.id = "1";
                     * kompanija.Adresa = "Lol Street";
                     * kompanija.BrojTelefona = "035111111";
                     * kompanija.DatumOsnivanja = DateTime.Now;
                     * kompanija.KorisnickoIme = "taxikomp";
                     * kompanija.Sifra = "sifra";
                     * kompanija.Email = "*****@*****.**";
                     * userTableObj.InsertAsync(kompanija);
                     */
                    kompanija.Adresa         = imeKompanije;
                    kompanija.BrojTelefona   = brojTelefonaKompanije;
                    kompanija.DatumOsnivanja = datumKompanije;
                    kompanija.KorisnickoIme  = kime;
                    kompanija.Sifra          = ksifra;
                    kompanija.Email          = emailKompanije;

                    userTableObj.InsertAsync(kompanija);

                    //   var dialog = new MessageDialog("Uspjesna registracija!");
                    //   dialog.ShowAsync();
                }
                catch (Exception e)
                {
                }

                kime                  = "";
                ksifra                = "";
                ksifraponovo          = "";
                imeKompanije          = "";
                emailKompanije        = "";
                datumKompanije        = DateTime.Now;
                brojTelefonaKompanije = "";

                Promjena("kime");
                Promjena("ksifra");
                Promjena("ksifraponovo");
                Promjena("imeKompanije");
                Promjena("emailKompanije");
                Promjena("datumKompanije");
                Promjena("brojTelefonaKompanije");
            }
        }