public ActionResult RiskObjectCreate(EGH01.Models.EGHCAI.RiskObject rs) { CAIContext db = null; ViewBag.EGHLayout = "CAI"; ActionResult view = View("Index"); string menuitem = this.HttpContext.Request.Params["menuitem"] ?? "Empty"; try { db = new CAIContext(); view = View("RiskObject", db); if (menuitem.Equals("RiskObject.Create.Create")) { int id = -1; if (EGH01DB.Objects.RiskObject.GetNextId(db, out id)) { String ownership = "f"; int numberofrefuel = 1; int volume = 1; Boolean watertreatment = rs.watertreatment; Boolean watertreatmentcollect = rs.watertreatmentcollect; string base64 = rs.base64; Byte[] map; if (base64 == null) { map = new byte[0]; } else { map = ASCIIEncoding.ASCII.GetBytes(base64); } int groundtank = rs.groundtank; int undergroundtank = rs.undergroundtank; string strlat_s = this.HttpContext.Request.Params["lat_s"] ?? "Empty"; string strlng_s = this.HttpContext.Request.Params["lng_s"] ?? "Empty"; string strwaterdeep = this.HttpContext.Request.Params["waterdeep"] ?? "Empty"; string strheight = this.HttpContext.Request.Params["height"] ?? "Empty"; float lat_s = 0.0f; float lng_s = 0.0f; float waterdeep = 0.0f; float height = 0.0f; if (!Helper.FloatTryParse(strlat_s, out lat_s)) { lat_s = 0.0f; } if (!Helper.FloatTryParse(strlng_s, out lng_s)) { lng_s = 0.0f; } if (!Helper.FloatTryParse(strwaterdeep, out waterdeep)) { waterdeep = 0.0f; } if (!Helper.FloatTryParse(strheight, out height)) { height = 0.0f; } Coordinates coordinates = new Coordinates(rs.latitude, rs.lat_m, lat_s, rs.lngitude, rs.lng_m, lng_s); float latitude = EGH01DB.Primitives.Coordinates.dms_to_d(rs.latitude, rs.lat_m, rs.lat_s); EGH01DB.Types.GroundType ground_type = new EGH01DB.Types.GroundType(); if (EGH01DB.Types.GroundType.GetByCode(db, rs.list_groundType, out ground_type)) { Point point = new Point(coordinates, ground_type, waterdeep, height); EGH01DB.Types.RiskObjectType risk_object_type = new EGH01DB.Types.RiskObjectType(); if (EGH01DB.Types.RiskObjectType.GetByCode(db, rs.selectlist, out risk_object_type)) { EGH01DB.Types.CadastreType cadastre_type = new EGH01DB.Types.CadastreType(); if (EGH01DB.Types.CadastreType.GetByCode(db, rs.list_cadastre, out cadastre_type)) { EGH01DB.Types.District district = new EGH01DB.Types.District(); if (EGH01DB.Types.District.GetByCode(db, rs.list_district, out district)) { EGH01DB.Types.Region region = new EGH01DB.Types.Region(); if (EGH01DB.Types.Region.GetByCode(db, rs.list_region, out region)) { DateTime foundationdate = rs.foundationdate; if (foundationdate.Year == 0001) { foundationdate = new DateTime(1900, 01, 01); } DateTime reconstractiondate = rs.reconstractiondate; if (reconstractiondate.Year == 0001) { reconstractiondate = new DateTime(1900, 01, 01); } string name = rs.name; String phone = rs.phone; String fax = rs.fax; string address = rs.adress; String email = rs.email; String fueltype = rs.fax; String geodescription = rs.fax; EGH01DB.Objects.RiskObject risk_object = new EGH01DB.Objects.RiskObject(id, point, risk_object_type, cadastre_type, name, district, region, address, ownership, phone, fax, email, foundationdate, reconstractiondate, numberofrefuel, volume, watertreatment, watertreatmentcollect, map, groundtank, undergroundtank, fueltype, 0, 0.0f, 0.0f, geodescription); if (EGH01DB.Objects.RiskObject.Create(db, risk_object)) { view = View("RiskObject", db); } } } } } else if (menuitem.Equals("RiskObject.Create.Cancel")) { view = View("RiskObject", db); } } } } } catch (RGEContext.Exception e) { ViewBag.msg = e.message; } catch (Exception e) { ViewBag.msg = e.Message; } return(view); }