示例#1
0
        internal void GetMeterDetailsForCustomer(int customerId)
        {
            using (var context = new TownUtilityBillSystemV2Entities())
            {
                var customerDB = context.CUSTOMERs.Find(customerId);

                if (customerDB != null)
                {
                    var customerTypeDB = context.CUSTOMER_TYPEs.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).FirstOrDefault();
                    var addressDB      = context.ADDRESSes.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
                    var index          = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).Select(Index.Get).FirstOrDefault();
                    var town           = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).Select(Town.Get).FirstOrDefault();
                    var street         = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).Select(Street.Get).FirstOrDefault();
                    var building       = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).Select(Building.GetWithSquareAndImagePath).FirstOrDefault();
                    var flatPartDB     = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();
                    var metersDB       = context.METERs.Where(m => m.ADDRESS_ID == addressDB.ID).ToList();

                    foreach (var m in metersDB)
                    {
                        var meterTypeDB = context.METER_TYPEs.Where(mt => mt.ID == m.METER_TYPE_ID).FirstOrDefault();
                        var utility     = context.UTILITYs.Where(u => u.ID == meterTypeDB.UTILITY_ID).Select(Utility.GetUtilityWithIdAndResourceName).FirstOrDefault();
                        var meterType   = new MeterType()
                        {
                            Id = meterTypeDB.ID, Name = meterTypeDB.NAME, Utility = utility
                        };

                        Meters.Add(new Meter()
                        {
                            Id = m.ID, SerialNumber = m.SERIAL_NUMBER, ReleaseDate = m.RELEASE_DATE, VarificationDate = m.VARIFICATION_DATE, MeterType = meterType
                        });
                    }

                    FlatPart flatPart = null;

                    if (flatPartDB != null)
                    {
                        flatPart = FlatPart.Get(flatPartDB);
                    }

                    var customerType = new CustomerType()
                    {
                        Id = customerTypeDB.ID, Name = customerTypeDB.NAME, ResourceName = CustomerType.GetResourceName(customerTypeDB.NAME)
                    };
                    var account = context.ACCOUNTs.Where(a => a.ID == customerDB.ACCOUNT_ID).Select(Account.Get).FirstOrDefault();
                    var address = new Address()
                    {
                        Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                    };

                    Customer = new Customer()
                    {
                        Id = customerDB.ID, Account = account, Surname = customerDB.SURNAME, Name = customerDB.NAME, Email = customerDB.EMAIL, Phone = customerDB.PHONE, CustomerType = customerType, Address = address
                    };
                }
                else
                {
                    Customer = null;
                }
            }
        }
示例#2
0
        private static void CreateMeterModelFromMeterList(TownUtilityBillSystemV2Entities context, MeterModel model, List <METER> rndMetersDB)
        {
            foreach (var m in rndMetersDB)
            {
                var meterTypeDB = context.METER_TYPEs.Where(mt => mt.ID == m.METER_TYPE_ID).FirstOrDefault();
                var utilityDB   = context.UTILITYs.Where(u => u.ID == meterTypeDB.UTILITY_ID).FirstOrDefault();
                var addressDB   = context.ADDRESSes.Where(a => a.ID == m.ADDRESS_ID).FirstOrDefault();
                var indexDB     = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
                var townDB      = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
                var streetDB    = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
                var buildingDB  = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
                var flatPartDB  = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();

                var utility = new Utility()
                {
                    Id = utilityDB.ID, Name = utilityDB.NAME, ResourceName = UtilityModel.GetResourceNameForUtility(utilityDB.NAME)
                };

                var meterType = new MeterType()
                {
                    Id = meterTypeDB.ID, Name = meterTypeDB.NAME, Utility = utility
                };

                var index = new Index()
                {
                    Id = indexDB.ID, Value = indexDB.VALUE
                };
                var town = new Town()
                {
                    Id = townDB.ID, Name = townDB.NAME
                };
                var street = new Street()
                {
                    Id = streetDB.ID, Name = streetDB.NAME
                };
                var building = new Building()
                {
                    Id = buildingDB.ID, Number = buildingDB.NUMBER
                };

                FlatPart flatPart = null;

                if (flatPartDB != null)
                {
                    flatPart = FlatPart.Get(flatPartDB);
                }

                var address = new Address()
                {
                    Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                };

                model.Meters.Add(new Meter()
                {
                    Id = m.ID, SerialNumber = m.SERIAL_NUMBER, ReleaseDate = m.RELEASE_DATE, VarificationDate = m.VARIFICATION_DATE, MeterType = meterType, Address = address
                });
            }
        }
示例#3
0
        private static void CreateCustomerModelFromCustomerList(TownUtilityBillSystemV2Entities context, ref List <Customer> customers, List <CUSTOMER> customersDB)
        {
            foreach (var c in customersDB)
            {
                var customerTypeDB = context.CUSTOMER_TYPEs.Where(ct => ct.ID == c.CUSTOMER_TYPE_ID).FirstOrDefault();

                var addressDB  = context.ADDRESSes.Where(a => a.ID == c.ADDRESS_ID).FirstOrDefault();
                var indexDB    = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
                var townDB     = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
                var streetDB   = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
                var buildingDB = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
                var flatPartDB = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();

                CustomerType customerType = CustomerType.Get(customerTypeDB);

                var index = new Index()
                {
                    Id = indexDB.ID, Value = indexDB.VALUE
                };
                var town = new Town()
                {
                    Id = townDB.ID, Name = townDB.NAME
                };
                var street = new Street()
                {
                    Id = streetDB.ID, Name = streetDB.NAME
                };
                var building = new Building()
                {
                    Id = buildingDB.ID, Number = buildingDB.NUMBER
                };

                FlatPart flatPart = null;

                if (flatPartDB != null)
                {
                    flatPart = FlatPart.Get(flatPartDB);
                }

                var address = new Address()
                {
                    Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                };

                var     accountDB = context.ACCOUNTs.Where(a => a.ID == c.ACCOUNT_ID).FirstOrDefault();
                Account account   = Account.Get(accountDB);

                customers.Add(new Customer()
                {
                    Id = c.ID, Account = account, Surname = c.SURNAME, Name = c.NAME, Email = c.EMAIL, Phone = c.PHONE, CustomerType = customerType, Address = address
                });
            }
        }
示例#4
0
        internal Customer GetCustomerForEdit(int customerId)
        {
            using (var context = new TownUtilityBillSystemV2Entities())
            {
                var model = new Customer();

                var customerDB = context.CUSTOMERs.Find(customerId);

                if (customerDB != null)
                {
                    var customerType = context.CUSTOMER_TYPEs.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).Select(CustomerType.Get).FirstOrDefault();
                    var addressDB    = context.ADDRESSes.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
                    var index        = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).Select(Index.Get).FirstOrDefault();
                    var town         = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).Select(Town.Get).FirstOrDefault();
                    var street       = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).Select(Street.Get).FirstOrDefault();
                    var building     = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).Select(Building.Get).FirstOrDefault();
                    var flatPartDB   = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();
                    var account      = context.ACCOUNTs.Where(a => a.ID == customerDB.ACCOUNT_ID).Select(Account.Get).FirstOrDefault();

                    FlatPart flatPart = null;

                    if (flatPartDB != null)
                    {
                        flatPart = FlatPart.Get(flatPartDB);
                    }

                    var address = new Address()
                    {
                        Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                    };

                    model.Id           = customerDB.ID;
                    model.Account      = account;
                    model.Surname      = customerDB.SURNAME;
                    model.Name         = customerDB.NAME;
                    model.Email        = customerDB.EMAIL;
                    model.Phone        = customerDB.PHONE;
                    model.CustomerType = customerType;
                    model.Address      = address;

                    model.CustomerTypes = context.CUSTOMER_TYPEs.Select(CustomerType.Get).ToList();
                }
                else
                {
                    model = null;
                }

                return(model);
            }
        }
        private void InitializeMeterProperty(int meterId, TownUtilityBillSystemV2Entities context)
        {
            var meterDB     = context.METERs.Where(m => m.ID == meterId).FirstOrDefault();
            var meterTypeDB = context.METER_TYPEs.Where(mt => mt.ID == meterDB.METER_TYPE_ID).FirstOrDefault();
            var utilityDB   = context.UTILITYs.Where(u => u.ID == meterTypeDB.UTILITY_ID).FirstOrDefault();
            var addressDB   = context.ADDRESSes.Where(a => a.ID == meterDB.ADDRESS_ID).FirstOrDefault();
            var flatPartDB  = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();

            var unit    = context.UNITs.Where(u => u.ID == utilityDB.UNIT_ID).Select(Unit.Get).FirstOrDefault();;
            var utility = new Utility()
            {
                Id = utilityDB.ID, Name = utilityDB.NAME, Unit = unit, ResourceName = UtilityModel.GetResourceNameForUtility(utilityDB.NAME)
            };
            var meterType = new MeterType()
            {
                Id = meterTypeDB.ID, Name = meterTypeDB.NAME, Utility = utility
            };

            var index    = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).Select(Index.Get).FirstOrDefault();
            var town     = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).Select(Town.Get).FirstOrDefault();
            var street   = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).Select(Street.Get).FirstOrDefault();
            var building = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).Select(Building.Get).FirstOrDefault();

            FlatPart flatPart = null;

            if (flatPartDB != null)
            {
                flatPart = FlatPart.Get(flatPartDB);
            }


            var address = new Address()
            {
                Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
            };

            Meter = new Meter()
            {
                Id = meterDB.ID, SerialNumber = meterDB.SERIAL_NUMBER, ReleaseDate = meterDB.RELEASE_DATE, VarificationDate = meterDB.VARIFICATION_DATE, MeterType = meterType, Address = address
            };
        }
示例#6
0
        private void GetAddressAndCustomerTypeForCustomer(TownUtilityBillSystemV2Entities context, CUSTOMER customerDB, out CustomerType customerType, out Address address)
        {
            customerType = context.CUSTOMER_TYPEs.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).Select(CustomerType.Get).FirstOrDefault();
            var addressDB  = context.ADDRESSes.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
            var index      = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).Select(Index.Get).FirstOrDefault();
            var town       = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).Select(Town.Get).FirstOrDefault();
            var street     = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).Select(Street.Get).FirstOrDefault();
            var building   = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).Select(Building.GetWithSquareAndImagePath).FirstOrDefault();
            var flatPartDB = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();

            FlatPart flatPart = null;

            if (flatPartDB != null)
            {
                flatPart = FlatPart.Get(flatPartDB);
            }

            address = new Address()
            {
                Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
            };
        }
示例#7
0
        private void GetAddressAndCustomerTypeForCustomer(TownUtilityBillSystemEntities context, CUSTOMER customerDB, out CustomerType customerType, out Address address)
        {
            var customerTypeDB = context.CUSTOMER_TYPE.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).FirstOrDefault();
            var addressDB      = context.ADDRESS.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
            var indexDB        = context.INDEX.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
            var townDB         = context.TOWN.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
            var streetDB       = context.STREET.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
            var buildingDB     = context.BUILDING.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
            var flatPartDB     = context.FLAT_PART.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();

            customerType = new CustomerType()
            {
                Id = customerTypeDB.ID, Name = customerTypeDB.NAME
            };
            var index = new Index()
            {
                Id = indexDB.ID, Value = indexDB.VALUE
            };
            var town = new Town()
            {
                Id = townDB.ID, Name = townDB.NAME
            };
            var street = new Street()
            {
                Id = streetDB.ID, Name = streetDB.NAME
            };
            var building = new Building()
            {
                Id = buildingDB.ID, Number = buildingDB.NUMBER, Square = (float)buildingDB.SQUARE, ImagePath = GetBuildingImage(buildingDB.ID)
            };

            FlatPart flatPart = null;

            if (flatPartDB != null)
            {
                if (!String.IsNullOrEmpty(flatPartDB.NAME) && !flatPartDB.NUMBER.HasValue)
                {
                    flatPart = new FlatPart()
                    {
                        Id = flatPartDB.ID, Name = flatPartDB.NAME
                    }
                }
                ;

                else if (String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                {
                    flatPart = new FlatPart()
                    {
                        Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER
                    }
                }
                ;

                else if (!String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                {
                    flatPart = new FlatPart()
                    {
                        Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER, Name = flatPartDB.NAME
                    }
                }
                ;
            }

            address = new Address()
            {
                Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
            };
        }
        private static void CreateMeterModelWithOneMeter(int meterId, TownUtilityBillSystemEntities context, MeterItemModel model)
        {
            var meterDB     = context.METER.Where(m => m.ID == meterId).FirstOrDefault();
            var meterTypeDB = context.METER_TYPE.Where(mt => mt.ID == meterDB.METER_TYPE_ID).FirstOrDefault();
            var utilityDB   = context.UTILITY.Where(u => u.ID == meterTypeDB.UTILITY_ID).FirstOrDefault();
            var addressDB   = context.ADDRESS.Where(a => a.ID == meterDB.ADDRESS_ID).FirstOrDefault();
            var indexDB     = context.INDEX.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
            var townDB      = context.TOWN.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
            var streetDB    = context.STREET.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
            var buildingDB  = context.BUILDING.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
            var flatPartDB  = context.FLAT_PART.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();
            var unitDB      = context.UNIT.Where(u => u.ID == utilityDB.UNIT_ID).FirstOrDefault();
            var unit        = new Unit()
            {
                Id = unitDB.ID, Name = unitDB.NAME
            };

            var utility = new Utility()
            {
                Id = utilityDB.ID, Name = utilityDB.NAME, Unit = unit
            };

            var meterType = new MeterType()
            {
                Id = meterTypeDB.ID, Name = meterTypeDB.NAME, Utility = utility
            };

            var index = new Index()
            {
                Id = indexDB.ID, Value = indexDB.VALUE
            };
            var town = new Town()
            {
                Id = townDB.ID, Name = townDB.NAME
            };
            var street = new Street()
            {
                Id = streetDB.ID, Name = streetDB.NAME
            };
            var building = new Building()
            {
                Id = buildingDB.ID, Number = buildingDB.NUMBER
            };

            FlatPart flatPart = null;

            if (flatPartDB != null)
            {
                if (!String.IsNullOrEmpty(flatPartDB.NAME) && !flatPartDB.NUMBER.HasValue)
                {
                    flatPart = new FlatPart()
                    {
                        Id = flatPartDB.ID, Name = flatPartDB.NAME
                    }
                }
                ;

                else if (String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                {
                    flatPart = new FlatPart()
                    {
                        Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER
                    }
                }
                ;

                else if (!String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                {
                    flatPart = new FlatPart()
                    {
                        Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER, Name = flatPartDB.NAME
                    }
                }
                ;
            }

            var address = new Address()
            {
                Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
            };

            model.Meter = new Meter()
            {
                Id = meterDB.ID, SerialNumber = meterDB.SERIAL_NUMBER, ReleaseDate = meterDB.RELEASE_DATE, VarificationDate = meterDB.VARIFICATION_DATE, MeterType = meterType, Address = address
            };
        }
        public ActionResult ShowAllUtilityCharts(int customerId)
        {
            using (var context = new TownUtilityBillSystemEntities())
            {
                var model = new CustomerModel();

                var customerDB = context.CUSTOMER.Find(customerId);

                if (customerDB != null)
                {
                    var customerTypeDB = context.CUSTOMER_TYPE.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).FirstOrDefault();
                    var addressDB      = context.ADDRESS.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
                    var indexDB        = context.INDEX.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
                    var townDB         = context.TOWN.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
                    var streetDB       = context.STREET.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
                    var buildingDB     = context.BUILDING.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
                    var flatPartDB     = context.FLAT_PART.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();
                    var metersDB       = context.METER.Where(m => m.ADDRESS_ID == addressDB.ID).ToList();

                    foreach (var m in metersDB)
                    {
                        var meterTypeDB = contextDB.METER_TYPE.Where(mt => mt.ID == m.METER_TYPE_ID).FirstOrDefault();

                        var utilityDB = contextDB.UTILITY.Where(u => u.ID == meterTypeDB.UTILITY_ID).FirstOrDefault();

                        var utility = new Utility()
                        {
                            Id = utilityDB.ID, Name = utilityDB.NAME
                        };

                        var meterType = new MeterType()
                        {
                            Id = meterTypeDB.ID, Name = meterTypeDB.NAME, Utility = utility
                        };

                        model.Meters.Add(new Meter()
                        {
                            Id = m.ID, SerialNumber = m.SERIAL_NUMBER, ReleaseDate = m.RELEASE_DATE, VarificationDate = m.VARIFICATION_DATE, MeterType = meterType
                        });
                    }

                    var customerType = new CustomerType()
                    {
                        Id = customerTypeDB.ID, Name = customerTypeDB.NAME
                    };
                    var index = new Index()
                    {
                        Id = indexDB.ID, Value = indexDB.VALUE
                    };
                    var town = new Town()
                    {
                        Id = townDB.ID, Name = townDB.NAME
                    };
                    var street = new Street()
                    {
                        Id = streetDB.ID, Name = streetDB.NAME
                    };
                    var building = new Building()
                    {
                        Id = buildingDB.ID, Number = buildingDB.NUMBER, Square = (float)buildingDB.SQUARE, ImagePath = GetBuildingImage(buildingDB.ID)
                    };

                    FlatPart flatPart = null;

                    if (flatPartDB != null)
                    {
                        if (!String.IsNullOrEmpty(flatPartDB.NAME) && !flatPartDB.NUMBER.HasValue)
                        {
                            flatPart = new FlatPart()
                            {
                                Id = flatPartDB.ID, Name = flatPartDB.NAME
                            }
                        }
                        ;

                        else if (String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                        {
                            flatPart = new FlatPart()
                            {
                                Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER
                            }
                        }
                        ;

                        else if (!String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                        {
                            flatPart = new FlatPart()
                            {
                                Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER, Name = flatPartDB.NAME
                            }
                        }
                        ;
                    }

                    var address = new Address()
                    {
                        Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                    };

                    model.Customer = new Customer()
                    {
                        Id = customerDB.ID, Account = customerDB.ACCOUNT, Surname = customerDB.SURNAME, Name = customerDB.NAME, Email = customerDB.EMAIL, Phone = customerDB.PHONE, CustomerType = customerType, Address = address
                    };
                    ViewBag.currentAddressForJS = address;
                }
                else
                {
                    model.Customer = null;
                }

                var view = View("~/Views/Chart/ShowAllUtilityCharts.cshtml", model);

                return(view);
            }
        }
示例#10
0
        public ActionResult EditCustomer(int customerId)
        {
            using (var context = new TownUtilityBillSystemEntities())
            {
                var model = new Customer();

                var customerDB = context.CUSTOMER.Find(customerId);

                if (customerDB != null)
                {
                    var customerTypeDB = context.CUSTOMER_TYPE.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).FirstOrDefault();
                    var addressDB      = context.ADDRESS.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
                    var indexDB        = context.INDEX.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
                    var townDB         = context.TOWN.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
                    var streetDB       = context.STREET.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
                    var buildingDB     = context.BUILDING.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
                    var flatPartDB     = context.FLAT_PART.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();


                    var customerType = new CustomerType()
                    {
                        Id = customerTypeDB.ID, Name = customerTypeDB.NAME
                    };
                    var index = new Index()
                    {
                        Id = indexDB.ID, Value = indexDB.VALUE
                    };
                    var town = new Town()
                    {
                        Id = townDB.ID, Name = townDB.NAME
                    };
                    var street = new Street()
                    {
                        Id = streetDB.ID, Name = streetDB.NAME
                    };
                    var building = new Building()
                    {
                        Id = buildingDB.ID, Number = buildingDB.NUMBER, Square = (float)buildingDB.SQUARE, ImagePath = GetBuildingImage(buildingDB.ID)
                    };

                    FlatPart flatPart = null;

                    if (flatPartDB != null)
                    {
                        if (!String.IsNullOrEmpty(flatPartDB.NAME) && !flatPartDB.NUMBER.HasValue)
                        {
                            flatPart = new FlatPart()
                            {
                                Id = flatPartDB.ID, Name = flatPartDB.NAME
                            }
                        }
                        ;

                        else if (String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                        {
                            flatPart = new FlatPart()
                            {
                                Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER
                            }
                        }
                        ;

                        else if (!String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                        {
                            flatPart = new FlatPart()
                            {
                                Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER, Name = flatPartDB.NAME
                            }
                        }
                        ;
                    }

                    var address = new Address()
                    {
                        Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                    };

                    model.Id           = customerDB.ID;
                    model.Account      = customerDB.ACCOUNT;
                    model.Surname      = customerDB.SURNAME;
                    model.Name         = customerDB.NAME;
                    model.Email        = customerDB.EMAIL;
                    model.Phone        = customerDB.PHONE;
                    model.CustomerType = customerType;
                    model.Address      = address;

                    var customerTypesDB = context.CUSTOMER_TYPE.ToList();
                    model.CustomerTypes = new List <CustomerType>();

                    foreach (var ct in customerTypesDB)
                    {
                        model.CustomerTypes.Add(new CustomerType()
                        {
                            Id = ct.ID, Name = ct.NAME
                        });
                    }
                }
                else
                {
                    model = null;
                }

                var view = View("~/Views/Customer/EditCustomer.cshtml", model);

                return(view);
            }
        }
示例#11
0
        private static void CreateCustomerModelFromCustomerList(TownUtilityBillSystemEntities context, CustomerModel model, List <CUSTOMER> customersDB)
        {
            foreach (var c in customersDB)
            {
                var customerTypeDB = context.CUSTOMER_TYPE.Where(ct => ct.ID == c.CUSTOMER_TYPE_ID).FirstOrDefault();

                var addressDB  = context.ADDRESS.Where(a => a.ID == c.ADDRESS_ID).FirstOrDefault();
                var indexDB    = context.INDEX.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
                var townDB     = context.TOWN.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
                var streetDB   = context.STREET.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
                var buildingDB = context.BUILDING.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
                var flatPartDB = context.FLAT_PART.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();

                var customerType = new CustomerType()
                {
                    Id = customerTypeDB.ID, Name = customerTypeDB.NAME
                };
                var index = new Index()
                {
                    Id = indexDB.ID, Value = indexDB.VALUE
                };
                var town = new Town()
                {
                    Id = townDB.ID, Name = townDB.NAME
                };
                var street = new Street()
                {
                    Id = streetDB.ID, Name = streetDB.NAME
                };
                var building = new Building()
                {
                    Id = buildingDB.ID, Number = buildingDB.NUMBER
                };

                FlatPart flatPart = null;

                if (flatPartDB != null)
                {
                    if (!String.IsNullOrEmpty(flatPartDB.NAME) && !flatPartDB.NUMBER.HasValue)
                    {
                        flatPart = new FlatPart()
                        {
                            Id = flatPartDB.ID, Name = flatPartDB.NAME
                        }
                    }
                    ;

                    else if (String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                    {
                        flatPart = new FlatPart()
                        {
                            Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER
                        }
                    }
                    ;

                    else if (!String.IsNullOrEmpty(flatPartDB.NAME) && flatPartDB.NUMBER.HasValue)
                    {
                        flatPart = new FlatPart()
                        {
                            Id = flatPartDB.ID, Number = (int)flatPartDB.NUMBER, Name = flatPartDB.NAME
                        }
                    }
                    ;
                }

                var address = new Address()
                {
                    Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                };

                model.Customers.Add(new Customer()
                {
                    Id = c.ID, Account = c.ACCOUNT, Surname = c.SURNAME, Name = c.NAME, Email = c.EMAIL, Phone = c.PHONE, CustomerType = customerType, Address = address
                });
            }
        }
示例#12
0
        internal void GetAllUtilityDataForCustomer(int customerId)
        {
            using (var context = new TownUtilityBillSystemV2Entities())
            {
                var customerDB = context.CUSTOMERs.Find(customerId);

                if (customerDB != null)
                {
                    var customerTypeDB = context.CUSTOMER_TYPEs.Where(mt => mt.ID == customerDB.CUSTOMER_TYPE_ID).FirstOrDefault();
                    var addressDB      = context.ADDRESSes.Where(a => a.ID == customerDB.ADDRESS_ID).FirstOrDefault();
                    var indexDB        = context.INDEXes.Where(i => i.ID == addressDB.INDEX_ID).FirstOrDefault();
                    var townDB         = context.TOWNs.Where(t => t.ID == addressDB.TOWN_ID).FirstOrDefault();
                    var streetDB       = context.STREETs.Where(s => s.ID == addressDB.STREET_ID).FirstOrDefault();
                    var buildingDB     = context.BUILDINGs.Where(b => b.ID == addressDB.BUILDING_ID).FirstOrDefault();
                    var flatPartDB     = context.FLAT_PARTs.Where(fp => fp.ID == addressDB.FLAT_PART_ID).FirstOrDefault();
                    var metersDB       = context.METERs.Where(m => m.ADDRESS_ID == addressDB.ID).ToList();

                    foreach (var m in metersDB)
                    {
                        var meterTypeDB = context.METER_TYPEs.Where(mt => mt.ID == m.METER_TYPE_ID).FirstOrDefault();

                        var utilityDB = context.UTILITYs.Where(u => u.ID == meterTypeDB.UTILITY_ID).FirstOrDefault();

                        var utility = new Utility()
                        {
                            Id = utilityDB.ID, Name = utilityDB.NAME
                        };

                        var meterType = new MeterType()
                        {
                            Id = meterTypeDB.ID, Name = meterTypeDB.NAME, Utility = utility
                        };

                        Meters.Add(new Meter()
                        {
                            Id = m.ID, SerialNumber = m.SERIAL_NUMBER, ReleaseDate = m.RELEASE_DATE, VarificationDate = m.VARIFICATION_DATE, MeterType = meterType
                        });
                    }

                    var customerType = new CustomerType()
                    {
                        Id = customerTypeDB.ID, ResourceName = CustomerType.GetResourceName(customerTypeDB.NAME)
                    };
                    var index = new Index()
                    {
                        Id = indexDB.ID, Value = indexDB.VALUE
                    };
                    var town = new Town()
                    {
                        Id = townDB.ID, Name = townDB.NAME
                    };
                    var street = new Street()
                    {
                        Id = streetDB.ID, Name = streetDB.NAME
                    };
                    var building = new Building()
                    {
                        Id = buildingDB.ID, Number = buildingDB.NUMBER, Square = (float)buildingDB.SQUARE
                    };

                    FlatPart flatPart = null;

                    if (flatPartDB != null)
                    {
                        flatPart = FlatPart.Get(flatPartDB);
                    }

                    var address = new Address()
                    {
                        Id = addressDB.ID, Index = index, Town = town, Street = street, Building = building, FlatPart = flatPart
                    };

                    var     accountDB = context.ACCOUNTs.Where(a => a.ID == customerDB.ACCOUNT_ID).FirstOrDefault();
                    Account account   = Account.Get(accountDB);

                    Customer = new Customer()
                    {
                        Id = customerDB.ID, Account = account, Surname = customerDB.SURNAME, Name = customerDB.NAME, Email = customerDB.EMAIL, Phone = customerDB.PHONE, CustomerType = customerType, Address = address
                    };
                }
                else
                {
                    Customer = null;
                }
            }

            #endregion
        }